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

Rom*_*las 6 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.

oer*_*ers 1

Jenkins 似乎设置了该属性:Hudson 在单元测试失败的情况下构建成功

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

有一个用于声纳的詹金斯插件:即使测试失败,它似乎也会进行分析:http://jira.codehaus.org/browse/SONARPLUGINS-461

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