1

我的集成测试遇到了一个非常烦人的问题,无论测试的实际结果如何,Maven 故障安全插件都返回退出代码 0:

例如,运行“mvn verify”显示:

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 23.519s
[INFO] Finished at: Tue Sep 16 13:12:55 BST 2014
[INFO] Final Memory: 53M/512M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.6:verify       (verify) on project [my.project]: There are test failures.

……

echo $?
0

故障安全配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.17</version>

    <executions>
        <execution>
            <id>integration-test</id>
            <goals>
                <goal>integration-test</goal>
            </goals>
        </execution>
        <execution>
            <id>verify</id>
            <goals>
                <goal>verify</goal>
            </goals>
        </execution>
    </executions>
</plugin>

我以前从未见过这个问题突然出现,它使我的 CI 堆栈变得毫无价值,因为如果测试失败,构建也不会失败!这与我过去做过的类似事情的唯一区别是我在这里使用的是 java 8。

4

1 回答 1

0

解决了我自己的问题 - 来自 maven jetty 插件的 stop-jetty 执行似乎导致退出代码的奇怪行为。删除 stop-jetty 执行修复了错误(我的 CI 无论如何都会杀死 Jetty)

于 2014-09-16T13:30:35.153 回答