gpt4 book ai didi

jenkins - 在 Jenkins 中使用 gtest

转载 作者:行者123 更新时间:2023-12-03 10:59:47 35 4
gpt4 key购买 nike

我在 Jenkins 中使用 google test 成功运行了我的单元测试,但我不知道如何显示由 gtest 生成的 .xml 文件。据说gtest满足JUnit格式,所以我设置如下:

Screenshot

但它最终会在构建后出现错误。

No test report files were found. Configuration error?
Build step 'Publish JUnit test result report' changed build result to FAILURE
Finished: FAILURE

最佳答案

Fraser 的回答很好,您需要进行一些额外的处理才能将 gtest XML 转换为正确的 JTest 格式。

首先,您要求 gtest 使用以下命令将结果输出到 XML:

mygtestapp --gtest_output=xml:gtestresults.xml

然后在脚本中,您需要添加额外的元素以正确标记跳过的测试。 Jenkin 的 JTest 处理器要求跳过的测试包含 元素,而不仅仅是将状态设置为“notrun”:
awk '{ if ($1 == "<testcase" && match($0, "notrun")) print substr($0,0,length($0)-2) "><skipped/></testcase>"; else print $0;}' gtestresults.xml > gtestresults-skipped.xml
mv gtestresults.xml gtestresults.off

如果在 Windows 批处理文件上运行它,请将 awk 操作放在文件中以避免引号出现问题。 awk.prog 文件:
{ if ($1 == "<testcase" && match($0, "notrun")) print substr($0,0,length($0)-2) "><skipped/></testcase>"; else print $0;}

并在您的 bat 文件中创建添加:
awk -f awk.progfile gtestresults.xml > gtestresults-skipped.xml

最后,您将 JTest 处理器作为 Post-Build 步骤来读取转换后的 XML:
# Publish JUnit Test Result Report
Test Report XMLs: gtestresults-skipped.xml

关于jenkins - 在 Jenkins 中使用 gtest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11540633/

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