django - 如何从覆盖范围中排除 django 库
问题描述
学习 django 作为使用 TDD 方法开发应用程序的一部分,在浏览了许多互联网页面后,我选择了 unittest 进行测试和覆盖库以了解所涵盖的测试。问题是在执行覆盖运行并生成 html 报告之后,它创建了一个 htmlcov 文件夹,我看到它也包含所有 django 库的测试覆盖率。这让我无法查看文件夹并搜索我的应用程序结果的测试结果。
我已经按照文档安装了覆盖范围
$ pip install coverage
并执行此命令$ coverage run manage.py test -v 2
然后生成 html 报告$ coverage html
,生成 423 项 html 页面
我如何克服这个问题,我可以看到使用 pytest 生成漂亮报告的在线教程,但是在使用 unittest 和覆盖率时这是不可能的..
也尝试了以下选项..
2)
$ coverage run -m unittest discover && coverage report
$ coverage html
3)
$ coverage run manage.py unittest feed, users
$ coverage html
同样的结果,我怎样才能获得只包含我的项目和它的应用程序文件(模型、视图、表单等)的所需文件
解决方案
我得到了问题的答案,从 stackoverflow 中找到了答案参考,并将其用作许多其他用户提到的参考
[run] omigrations / 这让我很困惑,所以尝试了下面的命令并且它有效(,)应该用于分隔多个目录
$ coverage run --omit=*/venv/*,*/migrations/* manage.py test
这是我的命令的结果:
$ coverage report -m
Name Stmts Miss Cover Missing
-------------------------------------------------
feed/__init__.py 0 0 100%
feed/admin.py 1 0 100%
feed/apps.py 3 0 100%
feed/models.py 10 2 80% 6-7
feed/tests.py 11 1 91% 18
feed/urls.py 3 0 100%
feed/views.py 6 2 67% 7-8
manage.py 12 2 83% 11-12
snet7/__init__.py 0 0 100%
snet7/settings.py 19 0 100%
snet7/urls.py 4 0 100%
users/__init__.py 0 0 100%
users/admin.py 1 0 100%
users/apps.py 3 0 100%
users/forms.py 7 0 100%
users/managers.py 20 1 95% 29
users/models.py 13 1 92% 19
users/tests.py 33 4 88% 19-20, 44-45
users/views.py 6 0 100%
-------------------------------------------------
TOTAL 152 13 91%
推荐阅读
- python-3.x - How to send tailored emails with python and mailgun (HTTP method)
- c++ - 如何在 Visual Studio 中将第三方库链接到我的项目中?
- python - Pandas: Script to fill the gap in IP address number
- lightningchart - 在闪电图中添加注释文本
- python-3.x - 使用多线程时未捕获 stdout/stderr,代码在单线程中工作正常
- python - Please how do I fix this SMTPConnectError Error?
- c++ - qtvars_Win32_Debug.props。什么是以及如何停止自动生成
- python - 不会出现空闲设置窗口
- javascript - Echarts - 从工具提示中排除系列
- node.js - 提交登录表单时无法对未安装的组件执行 React 状态更新