我在Eclipse中使用Java建立了一个简单的自动化框架,但是无法通过Junit运行Cucumber测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在Eclipse中使用Java建立了一个简单的自动化框架,但是无法通过Junit运行Cucumber测试相关的知识,希望对你有一定的参考价值。

我是Cucumber和Java的新手(来自Specflow / C#背景)。我正在尝试在eclipse中设置我的第一个项目并认为一切都设置正确(我可以从特征文件中访问我的步骤定义文件(使用F3 - 转到定义))。

我已经设置了一个testrunner文件,如下所示:

package cucumberTest;

import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(
        features = "Feature"
        ,tags = "@LoginTests"
        ,glue={"src/stepDefinition"}
        ,dryRun = true
        ,monochrome = true
        )

public class TestRunner {
}

我的问题是,当我通过Eclipse IDE运行Junit(v4.11)时,测试没有运行,我被告知方案和步骤未定义,并给出了解决问题的建议:

2 Scenarios (2 undefined)

6 Steps (6 undefined)

0m0.105s

You can implement missing steps with the snippets below:

Given("^User is on Home Page$", () -> {

    //Write code here that turns the phrase above into concrete actions

throw new PendingException();

});

但是,向我建议的语法不正确。任何想法为什么语法错误以及为什么我的测试不运行?

答案

建议的语法(片段)适用于java8。如果要使用常规java语法,请使用cucumber-java依赖项而不是cucumber-java8依赖项。

您收到步骤未定义的消息的原因是因为Cucumber无法找到您的胶水。确保在“glue =”的黄瓜选项中提供步骤定义的正确位置。

以上是关于我在Eclipse中使用Java建立了一个简单的自动化框架,但是无法通过Junit运行Cucumber测试的主要内容,如果未能解决你的问题,请参考以下文章

Cassandra / Eclipse - 无法建立连接

建了一个IDEA的java项目,请问怎样完全导入到eclipse中

谁能够帮我解释我在eclipse建立的Android项目的各个文件夹的作用,要详细的,包括怎么调用,谢谢~

如何用Eclipse建立一个Java应用程序

eclipse中怎么在一个新的工程下的src文件夹中建立一个子文件夹呢?

使用Eclipse建立一个JAVA工程和WEB工程