用黄瓜java运行功能文件

时间:2018-02-28 18:03:23

标签: java intellij-idea cucumber cucumber-jvm

我试图用java和intellij运行一个简单的功能文件,我似乎无法让它工作。

我设置了我的Cukes测试跑步者课程

package config;

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

@RunWith(Cucumber.class)
@CucumberOptions(monochrome = true,
    features = {"src/test/resources/features/"},
    dryRun = false,
    glue = "com.ecs.googleuat"
)
public class RunCukesTest {
}

特征: 特色:回家   情景:回家     鉴于我在主页上

步骤定义:

import cucumber.api.PendingException;
import cucumber.api.java.en.Given;

public class MyStepdefs {
@Given("^I am on the home page$")
public void iAmOnTheHomePage() {
    System.out.println("Hello");
}
}

项目结构:

enter image description here

我正在使用带有java黄瓜插件的maven项目。

运行功能文件时出现以下错误:

未定义的步骤:鉴于我在主页上

1个场景(1个未定义) 1步(1未定义) 0m0.000s

您可以使用以下代码段实现缺少的步骤:

@Given("^I am on the home page$")
public void i_am_on_the_home_page() throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}

处理完成,退出代码为0

请帮助我理解我做错了什么。

由于

1 个答案:

答案 0 :(得分:0)

不是100%肯定,但我认为问题在于方法名称。简单的解决方案只需在setTimeout内复制粘贴建议的步骤定义并删除异常并添加MyStepdefs然后运行。另外,请尝试删除您添加的粘合剂println

请按this获取进一步的帮助!

虽然我会严格建议继续com.ecs.googleuat

无论如何,如果你对java-8感到满意。删除Java-8中的胶水。并更新您的RunCukesTest.java

MyStepdefs.java

public class MyStepdefs implements En { public Stepdefs() { Given("^I am on the home page$", () -> { System.out.println("Hello"); }); } } 自动为您实现默认胶水。

此外,使用适当的依赖项。请关注this

修改 对于Java 8,请确保如果您使用的是IntelliJ Idea,则Project SDK将启用En

enter image description here