maven - 在maven中,如何为不同的junit测试类运行单独的配置

标签 maven junit maven-surefire-plugin

对于类列表(我可以将其指定为包含列表),我想使用 forkMode=always 运行,因为它们会扰乱静态状态(遗留代码)。

对于其余的类(我可以指定为排除上述类),我想使用 forkMode=never 或其他配置来运行。

这样做的动机是,使用 forkMode=always 运行测试需要永远运行,因为类加载器必须重新加载所有内容,只是为了从一个测试类运行测试!

其他一些细节: - 所有测试类必须在同一配置文件中运行(即:-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相反。

关于maven - 在maven中,如何为不同的junit测试类运行单独的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45888044/

相关文章:

kotlin - 无法使用Mockk模拟com.github.kittinunf.fuel.Fuel

java - 如何使用仅报告目标将 maven-surefire-report-plugin 集成到 maven-site-plugin

docker - 如何调试在 docker 容器中运行的 maven surefire 测试?

java - 在同一路径上共享静态内容和 mvc Controller

java - IntelliJ IDEA 16 添加maven依赖到类路径

java - 线程 "main"java.lang.NoClassDefFoundError : org/junit/Assume$AssumptionViolatedException 中的异常

spring - 从 JUnit 测试访问 spring 上下文

java - 如何忽略多个 JUnit 测试类?

java - 自定义 Nifi 处理器上的 Maven 构建测试失败,java.lang.UnsupportedOperationException

java - 在 NetBeans Maven 项目中设置 linksource 属性