如何从覆盖范围中排除 Django 库
How to exclude the django libraries from coverage
学习 Django 作为使用 TDD 方法开发应用程序的一部分,在浏览了许多互联网页面后,我选择了 unittest 进行测试和覆盖库以了解所涵盖的测试。问题是在执行覆盖 运行 并生成 html 报告后,它创建了一个 htmlcov 文件夹,我看到它也包含了所有 django 库的测试覆盖。查看文件夹并搜索我的应用程序结果的测试结果让我不知所措。
我已经按照文档安装了覆盖范围
$ pip install coverage
并执行了这个命令$ coverage run manage.py test -v 2
然后生成了 html 报告 $ coverage html
,结果是 html 页的 423 项
我该如何克服这个问题,我可以看到使用 pytest 生成漂亮报告的在线教程,但是在使用 unittest 和 coverage 时这是不可能的。
也尝试了以下选项..
2)
$ coverage run -m unittest discover && coverage report
$ coverage html
3)
$ coverage run manage.py unittest feed, users
$ coverage html
相同的结果,我怎样才能获得只包含我的项目及其应用程序文件(模型、视图、表单等)的所需文件,)
我得到了我的问题的答案,从 Whosebug 找到了答案参考并将其用作许多其他用户提到的参考
[运行]
省略=
/迁移/
这让我很困惑,所以尝试了下面的命令并且它有效(,)应该用于分隔多个目录
$ 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%
学习 Django 作为使用 TDD 方法开发应用程序的一部分,在浏览了许多互联网页面后,我选择了 unittest 进行测试和覆盖库以了解所涵盖的测试。问题是在执行覆盖 运行 并生成 html 报告后,它创建了一个 htmlcov 文件夹,我看到它也包含了所有 django 库的测试覆盖。查看文件夹并搜索我的应用程序结果的测试结果让我不知所措。
我已经按照文档安装了覆盖范围
$ pip install coverage
并执行了这个命令$ coverage run manage.py test -v 2
然后生成了 html 报告 $ coverage html
,结果是 html 页的 423 项
我该如何克服这个问题,我可以看到使用 pytest 生成漂亮报告的在线教程,但是在使用 unittest 和 coverage 时这是不可能的。
也尝试了以下选项..
2)
$ coverage run -m unittest discover && coverage report
$ coverage html
3)
$ coverage run manage.py unittest feed, users
$ coverage html
相同的结果,我怎样才能获得只包含我的项目及其应用程序文件(模型、视图、表单等)的所需文件,)
我得到了我的问题的答案,从 Whosebug 找到了答案参考并将其用作许多其他用户提到的参考
[运行] 省略= /迁移/ 这让我很困惑,所以尝试了下面的命令并且它有效(,)应该用于分隔多个目录
$ 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%