【发布时间】:2016-01-26 08:03:40
【问题描述】:
我正在使用 Maven Surefire 插件来运行特定的测试套件。 例如:
package suite;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import suite.slow.EvenSlowerClassTest;
import suite.slow.SlowClassTest;
@RunWith(Suite.class)
@Suite.SuiteClasses({
SlowClassTest.class,
EvenSlowerClassTest.class
})
public class SlowSuite {
}
通过使用maven命令
test -DrunSuite=**/FastSuite.class -DfailIfNoTests=false
我可以显式运行 FastSuite 或 SlowSuite 测试套件,但是,如何运行我拥有的所有测试套件或测试套件未涵盖的所有测试?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>${runSuite}</include>
</includes>
</configuration>
</plugin>
【问题讨论】:
-
mvn test将在src/test/java下运行所有测试(顺便说一句,我没有投反对票) -
是的,我知道。但是如果我在surefire插件中有include指令(我用pom.xml更新了问题)它默认运行一个套件。如果我不添加该包含,我将无法运行任何提供参数的套件
-
你试过
-DrunSuite=**/*吗? -
@CédricCouralet 属性
runSuite在 maven-surefire-plugin 中不存在,请参阅文档。 -
这是一个包含的属性。 @CédricCouralet 有帮助,谢谢。