Django 单元测试 查看覆盖率

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下列出来即可。

posted @ 2021-05-18 15:51  红雨520  阅读(469)  评论(0编辑  收藏  举报