简介
测试覆盖率是指项目代码被测试用例覆盖的百分比,使用pytest-cov插件可以统计测试覆盖率
添加链接描述
安装插件pytest-cov
pip install pytest-cov
用法
基本用法
–cov的参数是要统计代码覆盖率的源码,我将源码放在mysrc中,test_simpleexample.py是测试用例
pytest --cov=mysrc test_simpleexample.py
运行结果:
---------- coverage: platform darwin, python 3.9.5-final-0 -----------
Name Stmts Miss Cover
---------------------------------------
mysrc/__init__.py 0 0 100%
mysrc/myinc.py 2 0 100%
---------------------------------------
TOTAL 2 0 100%
生成报告 --cov-report
想要生成报告,使用–cov-report,参数可以是HTML,XML,LCOV
pytest --cov-report html --cov=mysrc test_simpleexample.py
就会在当前目录下生成一个htmlcov的文件夹,文件夹里的index.html就是报告
配置文件.coveragerc
配置文件主要配置一些不需要被统计覆盖率的文件夹或文件,以及source
具体配置见文档: 添加链接描述
比如:
在mysrc下添加一个inc2.py的文件,但是这个文件并没有添加测试用例
按照如下命令执行测试用例
pytest --cov-report html --cov=mysrc test_simpleexample.py
报告结果:
覆盖率只有50%了,如果不想这个文件被统计,需要在.coveragerc中添加相关配置
新建一个.coveragerc文件:
[run]
omit = mysrc/myinc2.py
再次执行测试用例,代码覆盖率就是100%了