在我的项目工作区中,test-results.xml文件存在于target \ surefire-reports \ testng-results.xml目录中 . 但Jenkins无法读取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.
为了确保文件不太旧,我检查了test-results.xml(和其他文件)属于最新的测试运行 . Jenkins服务器在Ubuntu 14.04 LTS上运行 .
我正在以这种方式运行我的测试:我的项目根目录有一个 run_tests.sh
脚本,如下所示:
#!/bin/bash
if [ "$1" = "" ]; then
echo "Please provide a valid suite XML file name."
else
mvn clean
mvn compile
mvn clean test -Dsurefire.suiteXmlFiles="$1"
fi
我只是将套件XML文件名作为参数传递给Jenkins中的这个脚本(执行shell) .
请帮忙 .
3 回答
您应该使用
/
而不是\
(因为您提到您的Jenkins在UNIX机器上运行)Krishnan,在测试用户谷歌集团,指出它可能是我的詹金斯项目工作区的问题,它是相同的 .
我更改了Jenkins项目中的默认工作区 .
所以我在Jenkins项目工作区中添加了路径“$ HOME / myWorkspace / myProject /”,并在同一个Jenkins项目的TestNG设置中添加了“** / target / surefire-reports / testng-results.xml”,有用!
谢谢Krishan的帮助 .
请在另一篇文章中查看我的回答here,应该非常清楚 .
简而言之,它是由当前目录更改为默认的Jenkins工作区引起的,您需要在Job的Config中设置自定义工作区 .