python – Django项目的代码覆盖率
作者:互联网
我安装了coverage.py来测量我的Django项目的代码覆盖率. (如此处所述:https://docs.djangoproject.com/en/1.6/topics/testing/advanced/#integration-with-coverage-py)
但我目前在我的项目中没有测试用例.因此,当我进行报道时,它说:
coverage run --source='.' manage.py test myapp
Creating test database for alias 'default'...
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
Destroying test database for alias 'default'...
它清楚地说它运行了0次测试,但是当我说
coverage report -m
它给我一个代码覆盖率为91%的报告.它也只查看我的模型包.它不会查看作为我的应用程序的一部分的其他包.
所以,当我给
coverage run --source='.' manage.py test myapp/mypackage
它再次报告仅针对模型包的报道.
如何衡量应用程序所有软件包的代码覆盖率?请帮助.提前致谢.
myproject/
├── myapp
│ ├── models
│ ├── services
│ ├── statis
│ ├── templates
│ ├── utils
│ └── views
└── myproject
报告:
Name Stmts Miss Cover Missing
------------------------------------------------------------
manage 11 2 82% 8-9
myapp/__init__ 0 0 100%
myapp/admin 1 1 0% 1
myapp/models/__init__ 3 0 100%
myapp/models/form/__init__ 10 0 100%
myapp/models/form/items 57 0 100%
myapp/models/form/profile 14 0 100%
myapp/models/form/sections 10 0 100%
myapp/models/user/__init__ 21 0 100%
myapp/models/user/items 67 0 100%
myapp/models/user/profile 13 1 92% 9
myapp/models/user/sections 60 0 100%
myapp/tests 1 0 100%
myapp/urls 7 7 0% 1-9
myproject/__init__ 0 0 100%
myproject/manage 11 11 0% 2-16
myproject/settings 33 0 100%
myproject/urls 4 4 0% 1-6
myproject/wsgi 4 4 0% 10-14
------------------------------------------------------------
TOTAL 327 30 91%
解决方法:
当代码覆盖中缺少模块时,第一步是检查是否缺少__init__.py文件.
标签:python,python-3-x,django,coverage-py 来源: https://codeday.me/bug/20190528/1171520.html