昨天把Jenkins(ver. 2.107.1,此处注意,几乎是一个最新的Jenkins版本)安装在mac上,并建了一个简单的job,来体验下Jenkins+Maven+testng的效果,遇到这样一个有意思的问题,就是使用默认设置,也配置了testng的测试结果报告插件,
当Jenkins构建执行后,也可以正常找到指定的pom.xml文件,并执行Maven命令mvn test -PmyTestngProfile.xml来启动测试,但是测试完成后,却显示:
TestNG Reports Processing: START
Looking for TestNG results report in workspace using pattern: **/target/surefire-reports/testng-results.xml
Did not find any matching files.
花了点时间研究下,在Configure里的TestNG XML report pattern里,只有设置为完全绝对路径的时候,才能找到testng-results.xml。
揭晓答案吧,其实就是当构建进行到去寻找testng-results.xml的时候,当前目录并不是最开始的项目代码目录(pom.xml所在的目录),而是下面这个Jenkins在mac上安装后的一个默认workspace,然后以此为当前目录继续构建工作。