Django 单元测试 查看覆盖率

Posted 极速快码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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下列出来即可。

以上是关于Django 单元测试 查看覆盖率的主要内容,如果未能解决你的问题,请参考以下文章

.Net core基于xUnit的单元测试查看测试覆盖率

.Net core基于xUnit的单元测试查看测试覆盖率

.Net core基于xUnit的单元测试查看测试覆盖率

如何对 django url 进行单元测试?

Django 中单元测试的覆盖设置无法正常工作

1)把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”; 编写单元测试进行测试; 用ElcEmma查看代码覆盖率,要求覆盖率达到100