Django有很方便的单元测试功能,使用client更是可以方便的调用接口,进行接口测试。一个好的项目离不开单元测试,但是我们测试完之后,只能看到通过率,而不能直观的了解到本次单元测试的覆盖率。这里记录一下如何查看django单元测试的覆盖率。
安装:
pip install coverage
清理上次测试结果:
coverage erase
执行django单元测试:
coverage run manage.py test
注意:后面可以和python manage.py test
一样携带参数。
生成cmd报告:
coverage report
生成html报告:
coverage html
注意:会在目录下生成一个htmlcov目录,点击目录下的index.html可以看到详细的覆盖信息。
优化:
coverage默认会统计目录下所有代码文件的覆盖率,但是大部分时候我们不需要了解这么多的文件,只需要关注自己实现的逻辑代码即可。就可以通过配置文件来实现这个效果。
在当前目录创建文件:
touch .coveragerc
编辑:
[run]
branch = True
source = .
omit =
manage.py
venv/*
models.py
[report]
show_missing = True
skip_covered = True
将不需要统计的文件放在omit下列出来即可。