20

这与我询问的另一个问题有关,试图在单个单元测试失败时使 Hudson 失败。

当我在我的独立构建上运行 Maven 时,由于单元测试错误(正在运行mvn clean install)而失败,但是当我在 Hudson 中运行它时,它说由于测试失败而出现错误,但构建仍然成功(并标记为不稳定) . 有什么想法吗?

4

4 回答 4

22

你创造了什么样的哈德逊工作?我怀疑这是 m2 项目而不是自由式项目。在 m2 项目中,Hudson 实际上会调整您的 pom 配置方式,以防止失败并将其标记为不稳定。这是故意的。

尝试maven.test.failure.ignore=false在 Advanced 设置下进行设置,因为我相信 Hudson 会自动将其设置为true.

于 2009-06-17T06:32:35.133 回答
6

Hudson 的约定是,如果构建返回成功,它只会寻找测试。如果构建失败,hudson 将其解释为存在一些导致构建无法工作的不可恢复错误,而不是某些测试失败。

这是非常有用的差异,因此不稳定(黄色)意味着构建完成并且测试都能够运行,但有些失败。

错误意味着构建失败,因为它无法编译,或者有一些其他不可恢复的错误导致测试无法运行,在这种情况下,hudson 不会报告单元测试状态。

于 2009-06-17T17:56:01.510 回答
0

每个作业的配置中还有 hudson 选项,用于确定在构建变得不稳定时如何操作,例如是否发送电子邮件等。

于 2009-06-17T19:28:50.557 回答
-1

刚刚看到Hudson Bugtracker上报告了这个缺陷

于 2009-10-27T15:40:51.310 回答