JUnit 5 Testfactory

时间:2017-03-17 09:16:19

标签: java maven unit-testing java-8 junit5

我遇到了一个场景,我必须初始化一个Testcase

@Test
public void foo() {
}

以便Maven识别我的TestFactory

@TestFactory
public Stream<DynamicTest> dynamicTestsFromStream() throws IOException{ 
...
}
经过一些研究,我发现了这个:

  

与@Test方法相比,@ TestFactory方法本身不是测试用例,而是测试用例的工厂。因此,动态测试是工厂的产物。   http://junit.org/junit5/docs/current/user-guide/#writing-tests-dynamic-tests

有没有办法强制TestFactory在我的Test类中没有任何@Test方法运行,因为这样它“伪造”我的Jenkins构建过程,因为我总是有+1测试运行和+1成功测试。

修改

从cmd控制台运行maven项目中的mvn test时会出现此问题。

我的依赖关系是:

                <dependency>
                    <groupId>org.junit.platform</groupId>
                    <artifactId>junit-platform-surefireprovider</artifactId>
                    <version>1.0.0-M1</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                    <version>4.12.0-M1</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.junit.jupiter</groupId>
                    <artifactId>junit-jupiter-engine</artifactId>
                    <version>5.0.0-M1</version>
                    <scope>test</scope>
                </dependency>

概要

将我的Maven JUnit引擎升级到M3解决了这个问题。

0 个答案:

没有答案