使用 JUnit 4.8 和新的 @Category
注释,有没有办法选择一个类别的子集来运行 Maven 的 Surefire 插件?
例如我有:
@Test
public void a() {
}
@Category(SlowTests.class)
@Test
public void b() {
}
我想运行所有非慢速测试,如下所示:(注意 -Dtest.categories 是由我组成的......)。
mvn test -Dtest.categories=!SlowTests // run non-slow tests
mvn test -Dtest.categories=SlowTests // run only slow tests
mvn test -Dtest.categories=SlowTests,FastTests // run only slow tests and fast tests
mvn test // run all tests, including non-categorized
所以重点是我不想创建测试套件(Maven 只选择项目中的所有单元测试,这非常方便),我希望 Maven 能够按类别选择测试. 我想我只是编造了 -Dtest.categories,所以我想知道是否有类似的工具可以使用?
最佳答案
Maven 已经更新并且可以使用类别。
来自 Surefire documentation: 的示例
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<configuration>
<groups>com.mycompany.SlowTests</groups>
</configuration>
</plugin>
这将运行带有注释 @Category(com.mycompany.SlowTests.class)
关于java - 如何在 Maven 中按类别运行 JUnit 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3100924/