我有一些测试想用
nosetests
运行并生成 junit xml
结果。据我所知,默认安装的nosetests是不可能的,因为它只生成xunit
xml文件。
但是,nose 插件的存在可以执行各种操作,其中包括用于创建 junit
xml 输出的
代码片段。
我的问题:
junit
和 xunit
xml 结果有什么区别?它们本质上是不同的且不兼容的吗?Nose 现在原生支持 xunit。
nose 支持带有内置插件的xunit输出,只需尝试--with-xunit
nosetests --with-xunit
获取 xUnit XML 结果。
JUnit XML 与 xUnit XML 基本相同。
Unit
之前的字母代表正在测试的编程语言。来自 https://en.wikipedia.org/wiki/XUnit:
xUnit 是几个单元测试框架的统称,这些框架的结构和功能源自 Smalltalk 的 SUnit。 (…)许多框架的名称都是“SUnit”的变体,通常用其目标语言名称中的第一个字母(或多个字母)替换“S”(Java 为“JUnit”,Java 为“RUnit”) R等)。这些框架及其通用架构统称为“xUnit”。
您无法获得真正的 JUnit XML 报告,因为您不是使用
nosetests
测试 Java,而是测试 Python。然而,JUnit 和 xUnit XML 结果应该大部分兼容。 Nosetests Xunit 文档声称:
此插件以标准 XUnit XML 格式提供测试结果。
它是为 Jenkins(以前的 Hudson)持续构建系统设计的,但可能也适用于任何其他能够理解测试结果的 XUnit 格式 XML 表示形式的系统。
…以及后来(强调我的):
在 Jenkins 构建器中,勾选名为“发布 JUnit 测试结果报告”的框...