首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven-failsafe-插件失败和构建成功?

maven-failsafe-插件失败和构建成功?
EN

Stack Overflow用户
提问于 2012-09-05 18:13:50
回答 3查看 12.4K关注 0票数 15

我想使用maven-failsafe-plugin来运行一些集成测试。如果任何测试失败,我希望Maven构建失败,而不是构建成功。

代码语言:javascript
复制
Tests run: 103, Failures: 1, Errors: 0, Skipped: 26
[INFO] BUILD SUCCESS*

我如何配置它,构建不成功是什么?

我的failsafe插件配置为:

代码语言:javascript
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>${failsafe.version}</version>
    <configuration>
        <systemProperties>
            <CI_INTEGRATION_OVERRIDE_PATH>${basedir}/..</CI_INTEGRATION_OVERRIDE_PATH>
        </systemProperties>
        <includes>
            <include>**/integration/**/*.java</include>
        </includes>
        <excludes>
            <exclude>**/integration/**/*TestSuite.java</exclude>
        </excludes>
    </configuration>
    <executions>
        <execution>
            <id>integration-test</id>
            <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
            </goals>
        </execution>
    </executions>
</plugin>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-04 16:00:34

解决方案。

代码语言:javascript
复制
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <skip>true</skip>
  </configuration>
  <executions>
    <execution>
      <id>unit-test</id>
      <phase>test</phase>
      <goals>
        <goal>test</goal>
      </goals>
      <configuration>
        <skip>false</skip>
        <excludes>
          <exclude>**/*IntegrationTest.java</exclude>
        </excludes>
      </configuration>
      </execution>
      <execution>
        <id>integration-test</id>
        <phase>integration-test</phase>
        <goals>
          <goal>test</goal>
        </goals>
        <configuration>
          <skip>false</skip>
          <enableAssertions>false</enableAssertions>
          <includes>
            <include>**/*IntegrationTest.java</include>
          </includes>
          <systemPropertyVariables>
            <integration>${integration}</integration>
          </systemPropertyVariables>
        </configuration>
      </execution>
    </executions>
</plugin>
票数 0
EN

Stack Overflow用户

发布于 2013-10-02 21:36:17

正如Andrew所指出的,正确的解决方案是按照预期使用故障保护。集成测试目标是专门设计的,不会导致构建失败。如果希望构建失败,请调用mvn verifymvn failsafe:verify

为了让verify目标起作用,它需要读取集成测试的结果,这些结果默认情况下会写入${project.build.directory}/failsafe-reports/failsafe-summary.xml,因此要确保生成了这些结果。

此外,您还必须确保将maven-failsafe-plugin配置绑定到executions部件中的integration-test目标和verify目标。

当集成测试失败时,如果不添加其中任何一个,将导致maven成功构建,而不是失败。

票数 12
EN

Stack Overflow用户

发布于 2012-09-05 21:36:01

由于您正在运行mvn clean install,因此应该同时执行integration-testverify阶段。根据failsafe插件文档,failsafe:integration-testfailsafe:verify目标被绑定到这些阶段,所以我不认为需要额外调用failsafe:integration-test

然而,我不确定我是否信任failsafe插件文档。今年早些时候,我为某人做了answered a similar question。事实证明,他必须明确地将每个目标绑定到正确的阶段,然后故障保险才能按预期工作。也许值得一试。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12279160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档