我的问题是,我正在使用Django-nose进行覆盖,但它将提到的语句显示为未执行,以一种糟糕的方式降低了我的覆盖百分比。由于一些我还没有发现的原因,我的Django项目会在覆盖率生效之前加载函数和类,如下所述:
Does coverage.py measure the function and class definitions?
我已经尝试了第二种解决方案,这正是我所要求的,但没有结果。我已经用#杂注覆盖暂时修复了它,以获得准确的百分比,但这是乏味的,肮脏的,这显然不是这样做的方式。
这里有我的项目的相关详细信息和设置,与此问题相关:
Django设置:
INSTALLED_APPS += ('django_nose', )
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = [
'--with-coverage',
'--cover-min-percentage=80',
'--cover-package=home, main, study, administrate, examine',
'--cover-inclusive',
'--cover-erase',
'--cover-html-dir=' + BASE_DIR + "/tests/.coverage_report",
'--cover-html',
'--verbosity=3',
'--exe',
].coveragerc:
[run]
omit = *migrations*
*admin.py*
*urls.py*
*__init__.py*
[report]
exclude_lines =
pragma: no cover
import *dev-quirements.txt:
Django==1.7.2
requests==2.6.0
coverage==3.7.1
django-debug-toolbar==1.3.2
django-nose==1.4.1
nose==1.3.7
sqlparse==0.1.16我已经试着解决这个问题好几个小时了,这真的很令人沮丧!非常感谢你的任何建议。
发布于 2016-04-11 10:09:51
就像Carlos说的,
丢弃鼻部参数并直接运行覆盖范围以获得准确的覆盖范围
coverage run --branch --source=my_app1,my_app2 ./manage.py test
coverage report并且这仍将使用您的.coveragerc文件
[run]
omit = *migrations*
*admin.py*
*urls.py*
*__init__.py*
.
.https://stackoverflow.com/questions/32288656
复制相似问题