[英]How do I run separate tests?
如何在特定模块中运行带有测试的单独文件夹?
我的模块:
<modules>
<module>common</module>
<module>foo</module>
<module>bar</module>
</modules>
每个模块都有一个2-3个测试文件夹。 我需要在模块栏中运行测试文件夹“ utils”。
我为团队“ MVN测试”做了限制:
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/utils/**</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>surefire-itest</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<excludes>
<exclude>none</exclude>
</excludes>
<includes>
<include>**/utils/**</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
mvn test-运行除“ utils”以外的所有测试。 mvn integration-test-运行所有测试。
现在,我只需要启动“ utils”。 我该如何解决这个问题?
选项1是使用各种配置文件通过mvn test
运行不同的surefire执行(以及不同的包含和排除)。
选项二是将故障安全插件与mvn verify
一起使用。 这使得仅运行单元测试或单元测试和集成测试变得容易。 仅运行集成测试是可行的,但是很尴尬。
不要将surefire插件与mvn integration-test
。 通常最好不要使用mvn integration-test
。 有关原因,请参见Maven生命周期简介 。
为utils中的测试创建另一个,并将其绑定到您要在其中运行的阶段。
如果您使用的是JUnit,也可以使用类别对测试进行分组。
我找到了解决此问题的方法:
mvn测试-运行除“ utils”以外的所有测试mvn测试-P utilsTest-仅运行测试“ utils”
<profiles>
<profile>
<id>utilsTest</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<exclude>none</exclude>
<includes>
<include>**/utils/**</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>test</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/utils/**</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.