如何在SpringBoot和JUnit中执行Cucumber集成测试?
我正在尝试用Spring Boot和JUnit运行Cumber测试 但是,当我右键单击执行TestRunner类时,我遇到了以下错误 我是否缺少任何配置 错误: CucumberStepDefinitions.java TestRunner.java 第一,功能src/test/resources/features SnakeController.java如何在SpringBoot和JUnit中执行Cucumber集成测试?,spring,spring-boot,junit,cucumber,cucumber-junit,Spring,Spring Boot,Junit,Cucumber,Cucumber Junit,我正在尝试用Spring Boot和JUnit运行Cumber测试 但是,当我右键单击执行TestRunner类时,我遇到了以下错误 我是否缺少任何配置 错误: CucumberStepDefinitions.java TestRunner.java 第一,功能src/test/resources/features SnakeController.java 您需要更正步骤: 由此: @When("^When I feed my snake$") public void when_i_feed_m
您需要更正步骤: 由此:
@When("^When I feed my snake$")
public void when_i_feed_my_snake() {
snake.feed();
}
为此:
@When("^I feed my snake$")
public void when_i_feed_my_snake() {
snake.feed();
}
这个问题是您在@When注释中包含了cumber钩子'When'。错误本身清楚地表明您有未定义的场景。您可以添加@WhenI feed my snake public void i_feed_my_snake{//在此处编写代码,将上述短语转化为具体操作抛出新cucumber.api.PendingException;}
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"pretty"}, features = {"src/test/resources/features"})
public class TestRunner {
}
Feature: Snake Charmer
Scenario: Hearing your snake you anticipate sound
Given I have hungry snake
When I feed my snake
Then I receive snek snek
@Controller
public class SnakeController {
private boolean fed;
@Autowired
public SnakeController() {
super();
}
public void feed() {
fed = true;
}
public String poke() {
if (this.fed == true) {
return "snek snek ^_^";
} else {
return "hiss";
}
}
}
@When("^When I feed my snake$")
public void when_i_feed_my_snake() {
snake.feed();
}
@When("^I feed my snake$")
public void when_i_feed_my_snake() {
snake.feed();
}