我在詹金斯有一份工作,每晚都有。在这个构建过程中执行的任务是:编译,单元测试,集成测试(只有JUnit测试比执行的“真实单元测试”更长),以及声纳质量分析。
当测试失败时,该作业被视为成功,因此,不会发送任何电子邮件来通知此失败。
使用的Maven命令是mvn clean install sonar:sonar
。删除install
目标不会改变任何内容。
这有什么问题?
是否有办法在只有一个Jenkins作业的情况下获得预期的行为(即在测试失败时具有不稳定的构建),或者我应该创建两个作业,一个用于整个“Java部分”(编译,单元测试和积分测试),还有一个用于声纳分析?
我们正在使用Maven 2.0.9,Java 1.6,Sonar 2.8,Jenkins 1.413。
答案 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报告。这样我就可以独立于声纳控制测试。