用于生成 NUnit3 测试结果 XML 输出的 pytest 插件
项目描述
用于生成 NUnit3 测试结果 XML 输出的 pytest 插件
要求: - Pytest 5.1.0+ - Python 3.7+
命令行选项
--nunit-xml
一个字符串值,用于设置生成的 XML 文件的文件名。
参数采用输出文件的路径,可以是相对的,也可以是绝对的。
--nunit-前缀
一个字符串值,作为所有测试用例名称的前缀,提供的字符串。
默认为空字符串。
INI 选项
nunit_show_username
在测试运行属性中包含系统用户名的布尔值。
默认为假
nunit_show_user_domain
在测试运行属性中包含系统用户域的布尔值。
默认为假
nunit_suite_name
(已弃用,忽略值)
用于设置测试套件名称的字符串值。
默认为“pytest”
nunit_attach_on
枚举以控制在使用add_nunit_attachment时是否在所有测试用例上设置附件属性。
可以是以下之一:
任何- 包括所有结果的测试附件(默认)
pass - 仅包含通过的测试用例的测试附件
fail - 仅包含失败测试用例的测试附件
夹具
此插件提供以下固定装置。
record_nunit_property
调用record_nunit_property(key: str, value: str)将导致属性标签被添加到相关节点的测试用例中。
def test_basic(record_nunit_property):
record_nunit_property("test", "value")
assert 1 == 1
add_nunit_attachment
通过使用文件路径和描述调用add_nunit_attachment(path: str, description: str)函数,将附件添加到节点测试用例。
def test_attachment(add_nunit_attachment):
pth = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'fixture.gif')
add_nunit_attachment(path, "peanut butter jelly time")
assert 1 == 1
与 Azure 管道一起使用
将以下步骤添加到构建作业以将结果发布到 Azure Pipelines:
- script: <s>"pip</s> <s>install</s> <s>pytest-nunit"</s>
- script: |
python -m pytest tests -v --nunit-xml=test-results.xml
continueOnError: true
- task: PublishTestResults@2
inputs:
testResultsFormat: NUnit
testResultsFiles: <s>'**/test-results.xml'</s>
跳过的测试
跳过的测试将在结果中包含原因属性(如果提供)。
附件
使用add_nunit_attachment夹具将呈现测试控制台内“附件”选项卡中的任何附件:
失败和 xfails
任何失败的测试,无论是 xpass 还是 xfail,都会有错误输出和比较,以及堆栈跟踪中的失败行。
与其他插件的兼容性
x-dist
使用-f运行时,请确保在您的 pytest 配置文件(setup.cfg 等)中 添加 looponfailroots = testdir以排除 xml 报告文件被监视的更改。