TeamCity显示测试数为0,如何使其统计pytest执行的测试用例?
解决TeamCity无法统计pytest测试用例数量的问题
问题出在默认情况下,pytest输出的普通日志格式TeamCity无法识别,所以没法统计测试用例数。你可以通过以下两种方法解决:
方法一:直接输出TeamCity兼容的日志格式
修改你命令行脚本里的pytest执行命令,加上--teamcity参数:
conda create -n my_env python=3.8 pytest -y source activate my_env pytest my_file.py --teamcity
(建议给conda create加-y参数,避免交互式确认打断构建流程)
加上这个参数后,pytest会输出TeamCity专用的结构化日志,TeamCity就能自动识别并统计测试用例的数量、通过/失败状态等信息。
方法二:生成JUnit XML报告并让TeamCity解析
如果更倾向于保留常规测试报告,也可以生成JUnit格式的XML报告,再让TeamCity解析:
- 修改pytest命令生成XML报告:
conda create -n my_env python=3.8 pytest -y source activate my_env pytest my_file.py --junitxml=test-results.xml
- 打开TeamCity的该构建任务配置,添加一个构建特征:
- 选择
XML report processing类型 - 在"监测的报告文件"中填入
test-results.xml(如果文件在子目录,要写完整路径) - 保存配置后重新运行构建,TeamCity就会读取XML文件里的测试数据进行统计。
- 选择
内容的提问来源于stack exchange,提问作者mascai
相关产品推荐
相关产品推荐

