jenkins构建python测试脚本失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins构建python测试脚本失败相关的知识,希望对你有一定的参考价值。

参考技术A 配置构建执行状态。
回到Jenkins首页,点击“构建执行状态”或“BuildExecutorStatus”,右则会列出本机信息。

如果没有运行测试,如何使 Jenkins 构建失败?

【中文标题】如果没有运行测试,如何使 Jenkins 构建失败?【英文标题】:How to fail Jenkins build if no tests were run? 【发布时间】:2016-03-20 11:49:54 【问题描述】:

我们正在使用GradleJenkins 上运行TestNG 测试。

作业配置:构建部分 -> 调用 Gradle 脚本 -> 使用 Gradle Wrapper -> 任务:

clean test -Dgroups=myTestNGTestGroupName

Jenkins 控制台输出中,我可以看到带有特定参数的gradlew.bat 执行的日志(其中一个是-Dgroups=myTestNGTestGroupName))。

我们有很多 Jenkins 工作和自动化 Selenium 测试。 从那以后,我们每天只检查失败的工作。

在重构测试期间TestNG 组名可能会更改或出现拼写错误。 如果您更改了测试存储库中的测试组名称并忘记更新Jenkins 作业:0 测试已执行且作业仍在通过(构建成功) .

如果没有执行任何测试,我如何告诉Jenkins 将构建标记为不成功?

【问题讨论】:

【参考方案1】:

TestNG 每次测试运行后都会生成testng-results.xml 文件 (即使执行了 0 个测试)。

我们可以分析这个文件。我发现的最简单的解决方案是使用 Text-finder Plugin (在我的情况下,它已经添加到Jenkins

我在Post-build Actions 中添加了Jenkins Text Finder,如下所示:

它在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

【讨论】:

以上是关于jenkins构建python测试脚本失败的主要内容,如果未能解决你的问题,请参考以下文章

脚本中的 Jenkins 和 kill 命令使构建失败

Jenkins - 如果构建失败,将下载链接添加到文件

我刚刚学会用Jenkins自动执行Python脚本输出测试报告!你呢?

Jenkins自动化测试脚本的构建

Jenkins自动化测试脚本的构建

Jenkins自动化构建python nose测试