gpt4 book ai didi

java - 为什么 "mvn verify"不运行我的集成测试?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:56:59 25 4
gpt4 key购买 nike

我有一个多模块项目,我在根 pom 中定义了故障保护,如下所示:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19</version>
<configuration>
<includes>
<include>**/*IntegrationTest.java</include>
<include>**/*JourneyTest.java</include>
<include>**/*CucumberFeatureTest.java</include>
</includes>
</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.19</version>
<configuration>
<excludes>
<exclude>**/*IntegrationTest.java</exclude>
<exclude>**/*JourneyTest.java</exclude>
<exclude>**/*CucumberFeatureTest.java</exclude>
</excludes>
</configuration>
</plugin>

在我的其他 poms 中其他任何地方都没有定义 Failsafe。如果我运行 mvn verify,它会跳过集成测试(它运行单元测试)。但是如果我运行 mvn test-compile failsafe:integration-test,它会运行集成测试。

我假设故障保护应该在这两种情况下运行。那么,为什么当我键入 mvn verify 时它不运行?

更新:刚刚注意到它包裹在这些标签周围:

<build>
<pluginManagement> <!-- oops -->
<plugins>
<plugin>

我觉得这解释了原因,但我不确定为什么 unit 测试仍然像您期望的那样运行 mvn verifymvn test 。为什么在这方面 surefire 与 failsafe 的工作方式不同?

最佳答案

您需要将 failsafe 的集成测试目标绑定(bind)到 maven 的 integration-testverify 阶段。默认情况下,故障安全插件不包含在 vanilla maven 项目中。你需要添加它。因此,即使有 integration-test 生命周期,默认情况下它也不包括在内(好吧,至少不运行 maven-failsafe-plugin)。您将它添加到 integration-testverify 阶段(它需要这两个阶段,它只会在 verify 阶段使构建失败 [如果preceding integration-tests failed],因此 post-integration 生命周期阶段仍然有机会运行和清理资源,因此得名“故障安全”)。

   <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19</version>
<configuration>
<includes>
<include>**/*IntegrationTest.java</include>
<include>**/*JourneyTest.java</include>
<include>**/*CucumberFeatureTest.java</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>

关于java - 为什么 "mvn verify"不运行我的集成测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33923601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com