将 Maven 标记中的两个标志添加到 SkipTests
Add two flags in Maven tag to SkipTests
我正在使用 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
: 跳过单元和集成测试
我正在使用 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
: 跳过单元和集成测试