gpt4 book ai didi

junit - 在构建后脚本中打印 jenkins 中失败测试的列表

转载 作者:行者123 更新时间:2023-12-04 00:35:50 25 4
gpt4 key购买 nike

我有一个执行一些 junit 测试的 jenkins 作业,以及一个在测试失败时调用 bash 脚本的构建后步骤(实际上检查日志是否包含“测试错误:”)。然后,该脚本会将一些文本(利用 jenkins 的一些环境变量)发送到 skype 机器人。

现在我想让机器人说出哪些测试实际上失败了。我一直在浏览插件和谷歌,但到目前为止我还没有办法判断哪些测试失败了。有没有办法将失败的测试传递给脚本,或者在构建之后/期间设置环境变量?

最佳答案

我们有一个执行单元测试的 jenkins 作业,并且有一个构建后步骤来“发布 JUnit 测试报告”。

这为我们提供了一个显示测试结果的页面,包括失败的测试。您的脚本的一个选项是获取该页面并从屏幕上抓取失败的测试名称(它们被埋在我们安装的“showFailuresLink”函数中)。

也可以通过 REST API 访问该页面。我玩了一下,发现了这样的请求:

http://host:7098/jenkins/job/ExecuteUnitTests/166/testReport/api/json?pretty=true&tree=suites[cases[className,name,age,status]]

结果如下:

{
"suites" : [
{
"cases" : [
{
"age" : 0,
"className" : "com.e.authentication.SimpleAuthenticationInfoTest",
"name" : "testGetCredentialKeys",
"status" : "PASSED"
},
{
"age" : 0,
"className" : "com.e.authentication.SimpleAuthenticationInfoTest",
"name" : "testGetExpirationInterval",
"status" : "PASSED"
},
...

足够简单,可以解析出 age > 0 或 status != PASSED 的条目。可能有一种方法可以进一步细化请求以获得您想要的内容,但我没时间玩了。

关于junit - 在构建后脚本中打印 jenkins 中失败测试的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24775029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com