【发布时间】:2015-11-26 12:11:14
【问题描述】:
我在 Eclipse 中使用 Maven 来运行 Cucumber 测试。项目结构如下:
我在Junit runner下面用过
@RunWith(Cucumber.class)
@CucumberOptions(
features={"src/test/resources/feature"}
,glue={"test.java.stepdefinition"}
)
public class CucumberJunitTest {
}
测试似乎运行良好。它正在为场景和步骤打印正确的日志。
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running test.java.cucumberjunit.CucumberJunitTest
a global administrator named
Successful Login with Valid Credentials: 1
Successful Login with Valid Credentials: 2
Successful Login with Valid Credentials: 3
Successful Login with Valid Credentials: 4
1 Scenarios ([32m1 passed[0m)
5 Steps ([32m5 passed[0m)
0m0.206s
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.85 sec - in test.java.cucumberjunit.CucumberJunitTest
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.794 s
[INFO] Finished at: 2015-11-26T22:52:07+11:00
[INFO] Final Memory: 14M/191M
[INFO] ------------------------------------------------------------------------
但是,令我困扰的是它说 Tests run: 0,???
我想肯定有什么问题。但是可能是什么原因呢?
顺便说一句,为了验证,我尝试在项目中添加另一个 TestNG 运行器:
@CucumberOptions(
features = {"src/test/resources/feature"}
,glue={"test.java.stepdefinition"}
)
public class CucumberTestNGPest extends AbstractTestNGCucumberTests{
}
TestNG 运行器正在打印 Tests run: 1 as expected。
有人可以提供任何想法吗?非常感谢。
更新:
澄清一下,CucumberJunitTest.java 和 CucumberTestNGTest.java(在附加的屏幕截图中 CucumberTestNGTest.java 名称更改为 CucumberTestNGPest.java 以便 Surefire 这次不会运行它)都是 Cucumber runner。我不明白为什么 JUnit 测试不能给出 "Test run: 1" 结果,而 TestNG 测试可以。
【问题讨论】:
标签: eclipse maven junit cucumber-jvm