如何结合Python内置unittest与trace模块生成可读覆盖率报告?
使用Python内置trace模块搭配unittest生成可读覆盖率报告
方法1:直接生成文本覆盖率报告
无需先保存二进制计数文件,运行测试时直接输出可读结果:
python3 -m trace --count --report --summary -C ./TempDelete/coverage TempDelete.py
参数说明:
--count:统计代码执行次数--report:触发覆盖率报告生成--summary:输出汇总信息(含各文件覆盖率百分比、执行行数等)-C:指定工作目录
若需查看未执行代码行的详细标记,将--summary替换为--missing:
python3 -m trace --count --report --missing -C ./TempDelete/coverage TempDelete.py
方法2:基于已保存的二进制计数文件生成报告
你之前用--file生成的二进制文件是计数数据文件,不能直接解码查看,需用trace命令解析它生成报告:
python3 -m trace --report --summary --file ./TempDelete/coverage/coverage
同样,换成--missing可查看未执行行细节:
python3 -m trace --report --missing --file ./TempDelete/coverage/coverage
结合unittest的执行说明
如果TempDelete.py是unittest测试文件,直接用上述命令运行即可,trace会自动追踪测试过程中执行的所有代码。若测试代码分散在多个文件或目录,直接指定路径即可:
python3 -m trace --count --report --summary -C ./coverage_dir tests/
内容的提问来源于stack exchange,提问作者Amit
相关产品推荐
相关产品推荐

