前言
pytest 生成junit-xml 測試報告,那么生成的xml報告有什么用呢?可以集合一些持續集成工具(如jenkins...等)方便查看報告。
junit-xml 測試報告
命令行參數有2個跟 junit-xml 報告相關的參數
--junit-xml=path create junit-xml style report file at given path.
--junit-prefix=str prepend prefix to classnames in junit-xml output
--junit-xml 指定報告保存地址,使用示例
> pytest demo --junit-xml=./report.xml
運行后會在當前目錄生成一個report.xml格式報告

--junit-prefix 設置xml報告的class屬性,使用示例
> pytest demo --junit-xml=./report.xml --junit-prefix=xxx

pytest.ini配置
pytest.ini配置有5個參數可以配置
junit_suite_name (string):
Test suite name for JUnit report
junit_logging (string):
Write captured log messages to JUnit report: one of no|log|system-out|system-err|out-err|all
junit_log_passing_tests (bool):
Capture log information for passing tests to JUnit report:
junit_duration_report (string):
Duration time to report: one of total|call
junit_family (string):
Emit XML for schema: one of legacy|xunit1|xunit2
junit_suite_name 參數可以修改JUnit報告的名稱,使用示例,在pytest.ini配置文件添加
[pytest]
junit_suite_name=yoyo
運行后會在xml報告中修改testsuite中的name屬性

在命令行中也可以通過傳參-o junit_suite_name也可以改變testsuite中的name屬性
> pytest demo --junit-xml=./report.xml -o junit_suite_name
