这与我询问的另一个问题有关,试图在单个单元测试失败时使 Hudson 失败。
当我在我的独立构建上运行 Maven 时,由于单元测试错误(正在运行mvn clean install
)而失败,但是当我在 Hudson 中运行它时,它说由于测试失败而出现错误,但构建仍然成功(并标记为不稳定) . 有什么想法吗?
你创造了什么样的哈德逊工作?我怀疑这是 m2 项目而不是自由式项目。在 m2 项目中,Hudson 实际上会调整您的 pom 配置方式,以防止失败并将其标记为不稳定。这是故意的。
尝试maven.test.failure.ignore=false
在 Advanced 设置下进行设置,因为我相信 Hudson 会自动将其设置为true
.
Hudson 的约定是,如果构建返回成功,它只会寻找测试。如果构建失败,hudson 将其解释为存在一些导致构建无法工作的不可恢复错误,而不是某些测试失败。
这是非常有用的差异,因此不稳定(黄色)意味着构建完成并且测试都能够运行,但有些失败。
错误意味着构建失败,因为它无法编译,或者有一些其他不可恢复的错误导致测试无法运行,在这种情况下,hudson 不会报告单元测试状态。
每个作业的配置中还有 hudson 选项,用于确定在构建变得不稳定时如何操作,例如是否发送电子邮件等。
刚刚看到Hudson Bugtracker上报告了这个缺陷