无法 运行 Junit4 测试中的类别
Not able to run a category in Junit4 tests
有一个用类别注释的测试方法:
public interface BVT {} //is placed in package net.test.categories, file name BVT.java
public class TestClass{
@Test
@Category(BVT.class)
public void someTest(){
System.out.println("smoke");
} }
我使用 Junit 4.12 和 surefire 3.0.0-M3
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<forkCount>${threadCount}</forkCount>
<reuseForks>false</reuseForks>
<skip>false</skip>
<groups>${testGroup}</groups>
</configuration>
</plugin>
如果我尝试运行 从 BVT 类别进行测试
mvn clean test -DtestGroup="net.test.categories.BVT"
我明白了
[INFO] Results:
[INFO]
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
不知道为什么测试不是 run/skipped...
使用在 pom 配置文件中创建没有帮助 - 它只是 运行 所有测试。
添加此 运行ner 依赖项也无济于事:
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>3.0.0-M3</version>
</dependency>
</dependencies>
正在创建一个套件 运行s 所需的测试,但我不想在这个套件 class 中列出所有必需的 classes,只想 运行来自命令行的某个组
You can use JUnit categories by using the groups
parameter.
使用 mvn -D...
设置 系统 属性,而不是插件参数。
所以你需要这样的东西:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
...
<groups>${myGroup}</groups>
</configuration>
</plugin>
和运行它与mvn ... -DmyGroup="net.test.categories.BVT"
未找到原因,但在 surefire 配置中添加 include 部分解决了问题。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<forkCount>${threadCount}</forkCount>
<reuseForks>false</reuseForks>
<skip>false</skip>
<groups>${testGroup}</groups>
<includes>
<include>*</include>
</includes>
</configuration>
</plugin>
有一个用类别注释的测试方法:
public interface BVT {} //is placed in package net.test.categories, file name BVT.java
public class TestClass{
@Test
@Category(BVT.class)
public void someTest(){
System.out.println("smoke");
} }
我使用 Junit 4.12 和 surefire 3.0.0-M3
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<forkCount>${threadCount}</forkCount>
<reuseForks>false</reuseForks>
<skip>false</skip>
<groups>${testGroup}</groups>
</configuration>
</plugin>
如果我尝试运行 从 BVT 类别进行测试
mvn clean test -DtestGroup="net.test.categories.BVT"
我明白了
[INFO] Results:
[INFO]
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
不知道为什么测试不是 run/skipped... 使用在 pom 配置文件中创建没有帮助 - 它只是 运行 所有测试。 添加此 运行ner 依赖项也无济于事:
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>3.0.0-M3</version>
</dependency>
</dependencies>
正在创建一个套件 运行s 所需的测试,但我不想在这个套件 class 中列出所有必需的 classes,只想 运行来自命令行的某个组
You can use JUnit categories by using the
groups
parameter.
使用 mvn -D...
设置 系统 属性,而不是插件参数。
所以你需要这样的东西:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
...
<groups>${myGroup}</groups>
</configuration>
</plugin>
和运行它与mvn ... -DmyGroup="net.test.categories.BVT"
未找到原因,但在 surefire 配置中添加 include 部分解决了问题。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<forkCount>${threadCount}</forkCount>
<reuseForks>false</reuseForks>
<skip>false</skip>
<groups>${testGroup}</groups>
<includes>
<include>*</include>
</includes>
</configuration>
</plugin>