带有 Measurement Plots 插件的 Jenkins 不会绘制测量值

Jenkins with the Measurement Plots plugin does not plot measurements

有没有人成功地使用 Jenkins 和 Measurement Plots 插件和带有标签的 xUnit 测试结果文件获得了一个绘图?

如果是,我想查看一个工作 xUnit 文件的示例,并从您那里获得有关配置 Jenkins 和适当的 Jenkins 工作以完成此壮举的任何提示。


我只是在作者的帮助下才弄明白的。诀窍是在 XML 中转义 XML 并使用 <system-out> 来提供 Measurements Plot 插件。以下步骤显示了如何使用它并将各种值输入插件:

  • 在 Jenkins"自由式软件项目"中创建新工作
  • 添加字符串参数VALUETEST
  • Add Build step Execute Shell Command 是下面的代码。
  • 添加构建后操作:发布 JUnit

  • 测试报告 XML:testdetail-*.xml
  • 检查保留长标准输出
  • 检查测量图
  • 立即保存并构建。
  • 绘图将出现在测试结果下。您需要多次运行才能显示该图。
  • 执行shell命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    echo '<?xml version="1.0" encoding="UTF-8"?>' > testdetail-lcov.xml
    echo '<testsuites name="CodeAnalysis" tests="2" failures="0" disabled="0" errors="0" time="0">' >> testdetail-lcov.xml

    echo '<testsuite  name="Suite" tests="1">' >> testdetail-lcov.xml
    echo '<testcase   name="Case" status="run" time="0" classname="Suite">' >> testdetail-lcov.xml
    echo '</testcase></testsuite>' >> testdetail-lcov.xml

    echo '<testsuite  tests="1">' >> testdetail-lcov.xml
    echo '<testcase   name="Lcov" status="run" time="0" classname="CodeAnalysis.Coverage">' >> testdetail-lcov.xml

    echo '<system-out>' >> testdetail-lcov.xml
    echo"<measurement><name>Line Coverage</name><value>$VALUETEST</value></measurement>">> testdetail-lcov.xml
    echo '</system-out>' >> testdetail-lcov.xml

    echo '</testcase></testsuite></testsuites>' >> testdetail-lcov.xml


    Measurement Plots 插件旨在从标准输出和错误缓冲区中提取值,不应用于绘制测试框架的统计数据和详细信息。

    对于 xUnit,有一个 xUnit 插件可以很好地完成这项工作。除非您想处理 xUnit 使用的某些非常特定类型的数据/信息,否则这应该是很好地显示测试结果的技巧。