我试图用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");
}
}
项目结构:
我正在使用带有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
请帮助我理解我做错了什么。
由于
答案 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
。