Python - Coverage 代码覆盖率
2021/4/9 20:29:22
本文主要是介绍Python - Coverage 代码覆盖率,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
衡量单元测试对相应代码的测试重量,覆盖率是一个必要非充分条件,因此统计代码的覆盖率,检视单测是否充分,就尤为的重要。这里针对python-unittest的单测的覆盖率coverage进行使用说明与分析.
coverage是一种用于统计Python代码覆盖率的工具,通过它可以检测测试代码对被测代码的覆盖率如何。可以高亮显示代码中哪些语句未被执行,哪些执行了,方便单测。并且,coverage支持分支覆盖率统计,可以生成HTML/XML报告。
命令行使用说明: 详见:http://nedbatchelder.com/code/coverage/cmd.html
1. run
运行一个.py的文件方式:python test.py
现在使用coverage执行.py的文件方式:coverage run test.py
会自动生成一个覆盖率统计结果文件(data file):.coverage,这个文件在你的test.py的文件对应目录下。
2. report
coverage report
有了覆盖率统计结果文件,只需要再运行report参数,就可以在命令里看到统计的结果。
$ coverage report Name Stmts Exec Cover --------------------------------------------- my_program 20 16 80% my_module 15 13 86% my_other_module 56 50 89% --------------------------------------------- TOTAL 91 79 87%
3. html
coverage html -d covhtml
生成html的测试报告。
备注:coverage run test.py命令运行的文件,会统计项目中包括测试文件本身在内的所有文件,run参数的子参数—source可以指定要统计的文件:$ coverage run --source=totest.py test.py 可以只统计totest.py文件。
如果是针对单测的覆盖率统计,需要在单测文件test_xxx.py的代码的最后加上。这样可以执行整个单测代码,然后执行coverage run test_xxx.py 即可。
if __name__ == "__main__": unittest.main()
这篇关于Python - Coverage 代码覆盖率的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python