这与我在单个单元测试失败时试图让Hudson失败的另一个问题有关。
当我在我的独立版本上运行Maven时,它由于单元测试错误(运行mvn clean install
而失败)但是当我在Hudson中运行它时,它表示由于测试失败而出现错误,但构建仍然存在成功(并标记为不稳定)。有什么想法吗?
答案 0 :(得分:22)
你创造了什么类型的哈德森工作?我怀疑这是m2项目而不是自由式项目。在m2项目中,Hudson实际上会调整你的pom的配置方式,以防止失败,并将其标记为不稳定。这是故意的。
尝试在高级设置下设置maven.test.failure.ignore=false
,因为我相信Hudson会自动将其设置为true
。
答案 1 :(得分:6)
Hudson的惯例是,只有在构建返回成功时才会查找测试。如果构建失败,hudson会将其解释为意味着存在一些不可恢复的错误导致构建不起作用,而不是某些测试失败。
这是非常有用的差异因为不稳定(黄色)意味着构建完成并且测试都能够运行,但有些失败。
错误意味着构建失败,因为它无法编译或者存在导致测试不运行的其他一些不可恢复的错误,在这种情况下哈德森不会报告单位测试状态。
答案 2 :(得分:0)
每个作业的配置中还有hudson选项,用于确定构建变得不稳定时的操作方式,例如是否发送电子邮件等。
答案 3 :(得分:-1)