如何让Jenkins在Maven 2版本上快速进入?

时间:2012-05-02 17:41:22

标签: maven jenkins maven-2 maven-surefire-plugin

我正在尝试使用Jenkins构建一个多模块Maven项目。

当我使用与Jenkins一样的相同环境(variables / settings.xml / user)在命令行上构建相同的项目时,测试失败会导致构建立即失败:

Failed tests:
  testSomething(com.package_name.TestSomethingOrTheOther)

Tests run: .., Failures: 1, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
...
# Build fails immediately

Jenkins 中构建的地方:

Failed tests:
  testSomething(com.package_name.TestSomethingOrTheOther)

Tests run: .., Failures: 1, Errors: 0, Skipped: 0

[ERROR] There are test failures.
...
# Build continues to other modules
...
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] parent ................................................ SUCCESS [.....s]
[INFO] module-that-failed .................................... SUCCESS [.....s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------

构建声明所有模块和父级都是 SUCCESS -ful,实际上,这些应该是失败。

我如何让Jenkins在maven版本中强制执行故障快速,就像maven在命令行中那样?

提前致谢。

2 个答案:

答案 0 :(得分:9)

Jenkins默认忽略测试失败,然后将构建标记为不稳定,如果它们是任何。

控制它的参数是:testFailureIgnore(参见surefire plugin doc

我从未尝试过,但我会尝试在jenkins作业配置上覆盖该设置:

-Dmaven.test.failure.ignore =假

答案 1 :(得分:1)

如果您点击 Build 部分中的高级按钮,则可以指定MAVEN_OPTS