7

我正在编写一个脚本,该脚本以 Jenkins 接受的 JUnit XML 格式生成测试结果。

我阅读了 StackOverFlow 中有关此主题的一些答案:Hudson 支持的 JUnit XML 格式规范规范。对于 JUnit XML 输出,但这些都没有讨论“测试套件”属性或选项的细节。

我想显示“测试套件”下所有“测试套件”中“测试用例”的总数、失败的“测试用例”总数和跳过的“测试用例”总数。

IE<testsuites *something to add here to include the info demanded*>...</testsuites>

有没有办法做到这一点?

任何帮助将不胜感激!

4

4 回答 4

3

我认为这些信息将由 Jenkins 自动计算。如果没有 - 不要费心添加它,无论如何它都不会显示。

这里有一个关于如何调试这类事情的有用提示:在 shell/batch 构建步骤中创建一个“接触”文件(我们称之为jUnit.xml )的作业(让我们将其命名为jUnitReport );添加“发布 JUnit 测试结果报告”并在“测试报告 XMLs”编辑框中指定jUnit.xml 。运行一次作业 - 这将创建其工作区。现在将要测试的有效jUnit.xml放置在工作区中。再次运行作业并检查测试结果的外观。

重要的是不要删除“触摸”步骤 - 否则 Jenkins 会认为测试结果过时并导致构建失败。

您现在可以在不运行实际测试的情况下使用jUnit.xml,并检查它如何影响 Jenkins 显示的结果。

于 2012-07-18T08:45:03.883 回答
1

不确定你是否找到了你要找的东西。但是以下示例对我有用。

<testsuites tests="38" failures="2" disabled="0" errors="0" time="10.898" name="AllTests">
    <!-- Add test suite and other stuff here-->
</testsuites>

这是 Jenkins 支持的。不确定哈德森是否也一样。 https://svn.jenkins-ci.org/trunk/hudson/dtkit/dtkit-format/dtkit-junit-model/src/main/resources/com/thalesgroup/dtkit/junit/model/xsd/junit-4。 xsd

于 2013-04-05T18:34:44.817 回答
1

我已经在 python 中完成了这个。所以我可以用python告诉你。导入一个名为 xmlrunner 的包

import xmlrunner

class ABC(unittest.TestCase)
asserts/tests..
...

if __name__ == "__main__":
   suite = unittest.TestLoader().loadTestsFromTestCase(ABC)
   xmlrunner.XMLTestRunner().run(suite)

现在在您的 jenkins 机器中转到 Post-build Actions 单击 Publish JUnit 测试结果报告旁边的复选框并提供 xml 文件的路径名。(**/test.xml)

您应该保存构建并检查您的详细结果。希望能帮助到你。

于 2012-07-17T21:28:14.307 回答
0

我正在寻找类似的东西,而且大多数情况下无法使用默认的 junit 插件,它不会解析这些信息

您可以查看此插件的源代码https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/tasks/junit/SuiteResult.java#L125

您可以分叉 junit 插件并扩展它。

于 2012-11-24T06:40:54.510 回答