i"正在使用scalatest插件执行一些IT测试。我需要在某些管道中跳过所有测试(Unit, IT
),并且它们仅使用标志${skipTests}
,因此我需要在所有类型的测试中使用该标志。在本地,有时我只想执行,单位或IT测试,但是现在只有一个标志,这是不可能的。
仅评论它的插件中的行,但我不喜欢此错误容易出现(有人肯定会提交评论行)
<skipTests>${skipTests}</skipTests>
我认为,如果我可以使用某种OR
条件在本地执行中设置一个新标志,并将另一个保持为false
<skipTests>${skipTests} || ${skipItTests}</skipTests>
显然这是不起作用的,但是我想知道是否有人知道一种做我想做的方法。
问候。
它已经在预防单元测试中得到了回答,但允许在Maven
中进行集成测试一目了然,您可以使用以下POM摘要来运行(单位,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
:跳过单位和集成测试
原始帖子是https://antoniogoncalves.org/2012/12/12/lets-turn-integration-tests-with-maven-to-maven-to-a-first-class-class-citizen/