6

我在 Jenkins 有一份工作,每天晚上都运行。在此构建期间执行的任务是:编译、单元测试、集成测试(这些只是比“真正的单元测试”要执行的 JUnit 测试)和 Sonar 质量分析。

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

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

那有什么问题?

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

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

4

1 回答 1

1

詹金斯似乎设置了这个属性:哈德森构建成功但单元测试失败

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

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

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

于 2011-06-21T16:08:41.517 回答