为什么我的Sonar Jenkins工作永远不会变得不稳定,即使测试失败?

时间:2011-06-21 07:30:51

标签: unit-testing maven jenkins sonarqube

我在詹金斯有一份工作,每晚都有。在这个构建过程中执行的任务是:编译,单元测试,集成测试(只有JUnit测试比执行的“真实单元测试”更长),以及声纳质量分析。

当测试失败时,该作业被视为成功,因此,不会发送任何电子邮件来通知此失败。

使用的Maven命令是mvn clean install sonar:sonar。删除install目标不会改变任何内容。

这有什么问题?

是否有办法在只有一个Jenkins作业的情况下获得预期的行为(即在测试失败时具有不稳定的构建),或者我应该创建两个作业,一个用于整个“Java部分”(编译,单元测试和积分测试),还有一个用于声纳分析?

我们正在使用Maven 2.0.9,Java 1.6,Sonar 2.8,Jenkins 1.413。

1 个答案:

答案 0 :(得分:1)

Jenkins似乎设置了该属性:Hudson build successful with unit test failures

使用属性(-Dmaven.test.failure.ignore = false),当测试失败时,构建将停止。

声纳有一个jenkins plugin: 即使测试失败,这似乎也会分析:http://jira.codehaus.org/browse/SONARPLUGINS-461

在我的声纳安装中,我从声纳中分别运行测试并重复使用junit / surefire报告。这样我就可以独立于声纳控制测试。