本文系《pytest源码剖析》系列内容
20. junitxml
插件路径: _pytest.junitxml
实现的 hook
调用的 hook
无
定义的 fixture
record_property
record_testsuite_property
record_xml_attribute
插件功能
创建命令行参数--junitxml,指定 xml 测试报告路径
创建命令行参数--junitprefix,指定类名前缀
创建 ini 配置junit_suite_name, 指定套件名称,默认为 pytest
创建 ini 配置junit_logging, 是否在报告中附加日志内容
创建 ini 配置junit_log_passing_tests, 是否在为同的用例附件加日志内容
创建 ini 配置junit_duration_report, 指定执行耗时的类型,默认为 total
创建 ini 配置junit_family, 指定 xml schema,默认为 xunit2
创建内置插件LogXML
创建多个 fixture:
record_propertym:为用例附加 user_properties
record_xml_attribute:为用例附加 xml attributes
record_testsuite_property:为 testsuite 附加 property
代码片段
略
简评
根据用例执行结果生成 junit 格式的 XML 文件,内容大致如下
...
该插件的篇幅主要用在处理 xml 文件上,本身没有太复杂的逻辑
生成的 xml 文件可被其他的 java 系工具之间使用,比如 Jenkins
不过现在生成报告一般使用 allure,jenkins 也有 allure 插件所以这个插件的应用就不那么多了
领取专属 10元无门槛券
私享最新 技术干货