我正在使用ScalaTest插件来执行一些IT测试。我需要跳过一些管道中的所有测试(Unit, IT
),他们只使用标志${skipTests}
所以我需要使用该标志进行所有类型的测试。在本地有时我只想执行,单元或IT测试,但现在只有一个标志是不可能的。
只评论它可以工作的IT插件中的行,但我不喜欢这个容易出错的错误(有人肯定会提交注释行)
<skipTests>${skipTests}</skipTests>
我想如果我可以使用某种OR
条件在我的本地执行中设置一个新标志为真,并保持另一个为假,那将是很好的
<skipTests>${skipTests} || ${skipItTests}</skipTests>
显然这不起作用,但我想知道是否有人知道如何做我想做的事。
问候。
它已经在Prevent unit tests but allow integration tests in Maven回答了
您可以使用以下pom片段来运行(UNIT,IT)测试的任意组合。
<project>
...
<properties>
<skipTests>false</skipTests>
<skipITs>${skipTests}</skipITs>
<skipUTs>${skipTests}</skipUTs>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12.4</version> <!-- use appropriate version -->
<configuration>
<skipTests>${skipTests}</skipTests>
<skipITs>${skipITs}</skipITs>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version> <!-- use appropriate version -->
<configuration>
<skipTests>${skipUTs}</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</project>
并使用
mvn install -DskipUTs
:跳过单元测试mvn install -DskipITs
:跳过集成测试mvn install -DskipTests
:跳过单元测试和集成测试