如何使用 Maven 发布插件跳过集成测试
how to skip integration tests with maven release plugin
我想跳过集成测试,而 运行 使用命令
maven 发布插件
mvn -B -DskipITs release:prepare release:perform
这样好像不行。相同的选项 -DskipITs
适用于 mvn install/deploy
。我不想使用 -Dmaven.test.skip=true
因为只需要忽略集成测试,而不是单元测试。实现此目标的最佳方法是什么?
编辑:
-Darguments=-DskipITs
适用于 release:prepare
,但令人惊讶的是 NOT 适用于 release:perform
。试过-Darguments=-Dmaven.test.skip=true
,也不行。
试图在 pom 中为发布插件添加 <arguments>skipITs</arguments>
,但它会忽略命令行中提供的所有其他 -Darguments
。我无法在插件配置中配置所有内容,因为某些选项会即时使用环境变量。
您可以在 pm.xml
文件中添加一些设置。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
使用 Maven Profiles.
将以下内容添加到您的 pom:
<profiles>
<profile>
<id>ItsReleaseTime</id>
<build>
<plugins>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<excludes>
<exclude>**/*IT.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
并调用命令:
mvn -B -P ItsReleaseTime release:prepare release:perform
根据 ,您似乎需要 -DskipITs
和 -Darguments=-DskipITs
。一种是跳过编译 IT,另一种是跳过 运行 IT。
我想跳过集成测试,而 运行 使用命令
maven 发布插件mvn -B -DskipITs release:prepare release:perform
这样好像不行。相同的选项 -DskipITs
适用于 mvn install/deploy
。我不想使用 -Dmaven.test.skip=true
因为只需要忽略集成测试,而不是单元测试。实现此目标的最佳方法是什么?
编辑:
-Darguments=-DskipITs
适用于 release:prepare
,但令人惊讶的是 NOT 适用于 release:perform
。试过-Darguments=-Dmaven.test.skip=true
,也不行。
试图在 pom 中为发布插件添加 <arguments>skipITs</arguments>
,但它会忽略命令行中提供的所有其他 -Darguments
。我无法在插件配置中配置所有内容,因为某些选项会即时使用环境变量。
您可以在 pm.xml
文件中添加一些设置。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
使用 Maven Profiles.
将以下内容添加到您的 pom:
<profiles>
<profile>
<id>ItsReleaseTime</id>
<build>
<plugins>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<excludes>
<exclude>**/*IT.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
并调用命令:
mvn -B -P ItsReleaseTime release:prepare release:perform
根据 -DskipITs
和 -Darguments=-DskipITs
。一种是跳过编译 IT,另一种是跳过 运行 IT。