在 maven 中,你如何 运行 为不同的 junit 测试分开配置 类
In maven, how do you run separate configurations for different junit test classes
对于 classes 的列表(我可以将其指定为包含列表),我想 运行 使用 forkMode=always 因为它们会扰乱静态(遗留代码) .
对于剩余的 classes(我可以指定为排除上面的 classes),我想 运行 使用 forkMode=never 或其他一些配置。
这样做的动机是,使用 forkMode=always 时,测试将永远持续到 运行,因为 classloader 一直不得不重新加载所有内容,只是为了 运行 个测试 class!
其他一些细节:
- 所有测试 classes 必须 运行 在同一配置文件中(即:-P 发布)
是否可以只拥有多个 :
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
在同一个人资料中?
我能想到的一种方法是定义多次执行:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<executions>
<execution>
<id>legacy-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<excludes>
<exclude>**/RemainingClasses*.java</exclude>
</excludes>
<includes>
<include>**/LegacyClasses*.java</include>
</includes>
<forkMode>always</forkMode>
</configuration>
</execution>
<execution>
<id>other-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<includes>
<include>**/RemainingClasses*.java</include>
</includes>
<excludes>
<exclude>**/LegacyClasses*.java</exclude>
</excludes>
<forkMode>never</forkMode>
</configuration>
</execution>
</executions>
</plugin>
另一方面,您可能希望改为使用 reuseForks and forkCount。
对于 classes 的列表(我可以将其指定为包含列表),我想 运行 使用 forkMode=always 因为它们会扰乱静态(遗留代码) .
对于剩余的 classes(我可以指定为排除上面的 classes),我想 运行 使用 forkMode=never 或其他一些配置。
这样做的动机是,使用 forkMode=always 时,测试将永远持续到 运行,因为 classloader 一直不得不重新加载所有内容,只是为了 运行 个测试 class!
其他一些细节: - 所有测试 classes 必须 运行 在同一配置文件中(即:-P 发布)
是否可以只拥有多个 :
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
在同一个人资料中?
我能想到的一种方法是定义多次执行:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<executions>
<execution>
<id>legacy-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<excludes>
<exclude>**/RemainingClasses*.java</exclude>
</excludes>
<includes>
<include>**/LegacyClasses*.java</include>
</includes>
<forkMode>always</forkMode>
</configuration>
</execution>
<execution>
<id>other-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<includes>
<include>**/RemainingClasses*.java</include>
</includes>
<excludes>
<exclude>**/LegacyClasses*.java</exclude>
</excludes>
<forkMode>never</forkMode>
</configuration>
</execution>
</executions>
</plugin>
另一方面,您可能希望改为使用 reuseForks and forkCount。