我升级了黄瓜版本,在不同的@Test中运行每个黄瓜场景,但是现在我的runner找不到我的步骤定义,当我在groupId Info.cukes上使用cucumber 1.2.5时,测试运行得很好,但我知道我迁移到了3.0.1,所有的测试都被跳过了,我的场景是未定义的。我的跑步者:
@CucumberOptions(
plugin = {"pretty", "html:target/cucumber"},
features = "src/main/java/cucumbertests/features"
, glue = {"cucumbertests.stepdef.customer.CreateCustomerSteps",
"cucumbertests.stepdef.customer.CustomerTestSteps"
}
)
public class CucumberTestRunner {
private TestNGCucumberRunner testNGCucumberRunner;
@BeforeClass(alwaysRun = true)
public void setUpClass() throws Exception {
testNGCucumberRunner = new TestNGCucumberRunner(this.getClass());
}
@Test(description = "Runs Cucumber Scenarios", dataProvider = "scenarios")
public void scenario(PickleEventWrapper pickleEvent, CucumberFeatureWrapper cucumberFeature) throws Throwable {
testNGCucumberRunner.runScenario(pickleEvent.getPickleEvent());
}
@DataProvider
public Object[][] scenarios() {
return testNGCucumberRunner.provideScenarios();
}
@AfterClass(alwaysRun = true)
public void tearDownClass() throws Exception {
testNGCucumberRunner.finish();
}
}我使用的是cucumber 3.0.1版本
<cucumber.version>3.0.1</cucumber.version>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-jvm</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-core</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-testng</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-spring</artifactId>
<version>${cucumber.version}</version>
</dependency>发布于 2018-05-29 00:30:40
如果您查看cucumber-jvm repo - https://github.com/cucumber/cucumber-jvm/tree/master/testng中的testng发行说明。这里有一个使用TestNGCucumberRunner - https://github.com/cucumber/cucumber-jvm/blob/master/examples/java-calculator-testng/src/test/java/cucumber/examples/java/calculator/RunCukesByCompositionTest.java运行示例的链接
在测试(scenario())方法中有额外的groups参数- groups = "cucumber"。也许这就解决了这个问题
https://stackoverflow.com/questions/50568453
复制相似问题