我们正在TestNG
上使用Gradle
运行Jenkins
次测试。
工作配置:
构建部分 - >调用Gradle脚本 - >使用Gradle Wrapper - >任务:
clean test -Dgroups=myTestNGTestGroupName
在Jenkins
控制台输出中,我可以看到执行gradlew.bat
时带有特定参数的日志(其中一个是-Dgroups=myTestNGTestGroupName
))。
我们有很多Jenkins
个工作和自动化Selenium
测试
因为每天我们只检查失败的工作。
在重构测试期间,TestNG
组名可能会更改,或者可能会出现拼写错误
如果您更改了测试存储库中的测试组名称并忘记更新Jenkins
作业:
执行 0 测试并且作业仍在传递(构建成功)。
如果没有执行任何测试,我如何告诉Jenkins
将构建标记为不成功?
答案 0 :(得分:2)
TestNG
都会生成testng-results.xml
个文件
(即使执行了0次测试)。
我们可以分析这个文件。我发现最简单的解决方案是使用
Text-finder Plugin
(在我的情况下已添加到Jenkins
)
我在Jenkins Text Finder
中添加了Post-build Actions
,如下所示:
它在Jenkins
控制台输出日志中的显示方式:
BUILD SUCCESSFUL
Total time: 42.105 secs
Build step 'Invoke Gradle script' changed build result to SUCCESS
Archiving artifacts
Checking <testng-results skipped="0" failed="0" total="0" passed="0">
c:\jenkins\workspace\my-job-name\build\reports\tests\testng-results.xml:
<testng-results skipped="0" failed="0" total="0" passed="0">
Build step 'Jenkins Text Finder' changed build result to UNSTABLE
...
Finished: UNSTABLE