Maven Surefire Junit 测试套件
Maven Surefire Junit test suite
我使用 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>
我在我们的一些项目中所做的,是在 pom.xml
中使用 <profiles>
来激活特殊的测试套件。如果没有配置文件处于活动状态,所有测试都将是 运行 和 mvn test
(我希望这就是你要找的)
像这样:
<profile>
<id>commit-test</id>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.3</version>
<configuration>
<groups>com.test.CommitTest</groups>
</configuration>
</plugin>
</plugins>
</build>
测试 类 注释如下:
@Category(CommitTest.class)
public class SomeTestClass {
}
我不知道它是否适用于 @Suite
和 @RunWith
,但如果您的测试套件不是太多 类,那应该不难改变那个。
命令:mvn clean test -Pcommit-test
我想你可以试试 -DrunSuite=**/*Suite.class
我使用 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>
我在我们的一些项目中所做的,是在 pom.xml
中使用 <profiles>
来激活特殊的测试套件。如果没有配置文件处于活动状态,所有测试都将是 运行 和 mvn test
(我希望这就是你要找的)
像这样:
<profile>
<id>commit-test</id>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.3</version>
<configuration>
<groups>com.test.CommitTest</groups>
</configuration>
</plugin>
</plugins>
</build>
测试 类 注释如下:
@Category(CommitTest.class)
public class SomeTestClass {
}
我不知道它是否适用于 @Suite
和 @RunWith
,但如果您的测试套件不是太多 类,那应该不难改变那个。
命令:mvn clean test -Pcommit-test
我想你可以试试 -DrunSuite=**/*Suite.class