图11-22还显示了项目的测试结果信息,为了获得这样的信息需要做一些额外的配置。在11.6.1节中,maven-surefire-plugin会在项目的target/surefire-reports目录下生成与JUnit兼容的XML格式测试报告,Hudson能够基于这种格式的文件生成图形化的测试报告。
用户可以配置一个Hudson任务,在配置页面的Post-build Actions部分选择Publish JUnit test result report选项,并且将Test report XMLs赋值为**/target/surefire-reports/TEST-*.xml。
该表达式表示匹配任意目录下target/surefire-reports/子目录中以TEST-开头的XML文件,这也就是匹配所有maven-surefire-plugin生成的XML格式报告文件。配置如图11-27所示。
图11-27 配置Hudson任务发布测试报告
有了上述配置之后,就能在任务状态页面中看到最新的测试结果与测试结果趋势,如图11-28所示。
图11-28 Hudson任务测试的总体状态
单击Latest Test Result就能看到最近一次构建的测试报告。在测试结果趋势图中,用户也可以单击各个位置得到对应构建的测试报告,如图11-29所示。
用户还可以单击图中的链接得到更具体的测试输出,以方便定位并修复问题。
如果用户为一个Hudson任务配置了测试报告,就可以同时配置构建命令忽略测试。例如,图11-17中的Maven构建命令可以更改为clean deploy-Dmaven.test.failure.ignore,这样失败的测试就不会导致构建失败。也就是说,构建的状态不会是红色,同时,由于Hudson能够解析测试报告并发现失败的测试,构建的状态也不会是健康的蓝色。用户最终会看到黄色的任务状态,表示构建不稳定。这种配置方式能够帮助用户区分失败的构建与不稳定的构建。
图11-29 一次构建的测试报告