首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在maven中,如何为不同的junit测试类运行不同的配置?

在maven中,如何为不同的junit测试类运行不同的配置?
EN

Stack Overflow用户
提问于 2017-08-26 03:10:16
回答 1查看 482关注 0票数 2

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

对于剩余的类(我可以指定排除上面的类),我希望使用forkMode=never或其他一些配置运行。

这样做的动机是,使用forkMode=always运行测试会花费很长时间,因为类加载器必须不断地重新加载所有内容,仅仅是为了从一个测试类运行测试!

其他一些细节:-所有测试类必须在相同的配置文件中运行(例如:-P版本)

是否有可能只有多个:

代码语言:javascript
复制
<plugin>
   <artifactId>maven-surefire-plugin</artifactId>

在相同的配置文件中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-26 03:51:23

我可以想到的一种方法是定义多个执行:

代码语言:javascript
复制
<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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45888044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档