eclipse - 为什么使用 Maven 运行 Cucumber 测试返回结果 "Tests run: 0"?

标签 eclipse maven junit cucumber-jvm

我在 Eclipse 中使用 Maven 来运行 Cucumber 测试。项目结构如下:

enter image description here

我在下面使用了 Junit 运行程序

@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] ------------------------------------------------------------------------

但是,令我困扰的是它说测试运行:0,???

我想一定是出了什么问题。但这可能是什么原因呢?

顺便说一句,为了验证,我尝试在项目中添加另一个 TestNG 运行程序:

@CucumberOptions(
features = {"src/test/resources/feature"}
,glue={"test.java.stepdefinition"}
)

public class CucumberTestNGPest extends AbstractTestNGCucumberTests{
}

并且 TestNG 运行程序正在按预期打印 Tests run: 1。

有人可以提供任何想法吗?非常感谢。

更新:

澄清一下,CucumberJunitTest.java 和 CucumberTestNGTest.java(在附图中,CucumberTestNGTest.java 名称已更改为 CucumberTestNGPest.java,以便 Surefire 这次不会运行它)都是 Cucumber 运行程序。我不明白为什么 JUnit 测试不能给出“Test run: 1”结果,而 TestNG 测试可以。

最佳答案

您有 testng 和 junit 以及依赖项。尝试仅使用 junit,这样 Maven 结果就不会被覆盖。

我的 pom 中需要的最小依赖项列表:

<properties>
    <properties>
    <junit.version>4.11</junit.version>
    <selenium.version>2.50.1</selenium.version>
    <cucumber.version>1.2.0</cucumber.version>
</properties>


<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>${cucumber.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>${cucumber.version}</version>
        <scope>test</scope>
    </dependency>
</dependencies>

关于eclipse - 为什么使用 Maven 运行 Cucumber 测试返回结果 "Tests run: 0"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33938393/

相关文章:

java - 从应用程序按钮运行 cucumber 测试文件

java - android JUnit 测试未运行

java - 如何使 IntelliJ/Android Studio 中的静态导入更快

java - 不明确的方法调用 Assert 中的 assertEquals(Object, Object) 和 Assert 中的 assertEquals(double, double) 匹配 :

java - 耳朵和 war 没有建立

java - 调试执行冒险

java - 如何使用shadowJar gradle插件而不是maven发布将fat JAR发布到JitPack

java - @Controller 、 @RestController 和 @Component 在 Spring boot 多模块 maven 项目的子包中不起作用

java - 如何在Spring Tool Suite 3.8.1-64中配置Eclipse Marketplace?

java - 如何制作一个按钮程序? ( java )