一尘不染

有没有办法将长时间运行(例如压力测试)分开,以使它们在Maven 2中默认不运行?

java

我们一直有一个持续的需求,我无法弄清楚如何使用库存的Maven 2工具和文档来解决。

我们的一些开发人员有一些运行很长时间的JUnit测试(通常是压力测试),在任何情况下都不应将其作为构建过程/每晚构建的常规部分运行。

当然,我们可以使用surefire插件的排除机制,只是从构建中删除它们,但是理想情况下,我们希望可以让开发人员通过Maven 2随意运行它们。


阅读 220

收藏
2020-12-03

共1个答案

一尘不染

通常,您将向运行不同测试集的Maven配置添加一个配置文件:

用mvn -Pintegrationtest install运行

    <profile>
        <id>integrationtest</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <argLine>-client -Xmx896m -XX:MaxPermSize=192m</argLine>
                        <forkMode>once</forkMode>
                        <includes>
                            <include>**/**/*Test.java</include>
                            <include>**/**/*IntTest.java</include>
                        </includes>
                        <excludes>
                            <exclude>**/**/*SeleniumTest.java</exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </build>
        <activation>
            <property>
                <name>integrationtest</name>
            </property>
        </activation>
    </profile>
2020-12-03