我正在使用 ScalaTest 插件来执行一些 IT 测试。我需要跳过某些管道中的所有测试(Unit,IT
),并且它们只使用标志 ${skipTests}
所以我需要为我的所有测试使用该标志测试类型。在本地,有时我只想执行单元或 IT 测试,但现在只有一个标志,这是不可能的。
仅在 IT 插件中评论该行即可,但我不喜欢这种容易出错的方法(肯定有人会提交评论行)
<skipTests>${skipTests}</skipTests>
我在想,如果我可以使用某种 OR
条件在本地执行中将一个新标志设置为 true,并将另一个标志设置为 false,那就太好了
<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
:跳过单元测试和集成测试
关于java - 将 Maven 标记中的两个标志添加到 SkipTests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55296896/