我已经对我用django的cookie cutter设置的项目进行了报道。在报告中,coverage包括cookie切割器为我设置的用户应用程序中的py文件,并包括我的html模板,但不包括我的任何py文件。
我想覆盖我的6个应用程序中的每一个下面包含我的几个py文件。 我该怎么办?
我附上了我的报道报告的屏幕截图。
百分比并不差,但我的众多.py文件不在报告中。
我正在使用cookie切割器为我生成的(轻微修改的)测试设置文件,以白:
from .base import * # noqa
# DEBUG
# ------------------------------------------------------------------------------
# Turn debug off so tests run faster
DEBUG = False
# coverage throws error unless the following is set to True
TEMPLATES[0]['OPTIONS']['debug'] = True
# SECRET CONFIGURATION
# ------------------------------------------------------------------------------
# See: https://docs.djangoproject.com/en/dev/ref/settings/#secret-key
# Note: This key only used for development and testing.
SECRET_KEY = env('DJANGO_SECRET_KEY', default='CHANGEME!!!')
# Mail settings
# ------------------------------------------------------------------------------
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
# In-memory email backend stores messages in django.core.mail.outbox
# for unit testing purposes
EMAIL_BACKEND = 'django.core.mail.backends.locmem.EmailBackend'
# CACHING
# ------------------------------------------------------------------------------
# Speed advantages of in-memory caching without having to run Memcached
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': ''
}
}
# TESTING
# ------------------------------------------------------------------------------
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
# PASSWORD HASHING
# ------------------------------------------------------------------------------
# Use fast password hasher so tests run faster
PASSWORD_HASHERS = [
'django.contrib.auth.hashers.MD5PasswordHasher',
]
# TEMPLATE LOADERS
# ------------------------------------------------------------------------------
# Keep templates in memory so tests run faster
TEMPLATES[0]['OPTIONS']['loaders'] = [
['django.template.loaders.cached.Loader', [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
], ],
]
要运行coverage,这是我的shell命令:
coverage运行manage.py test --settings = config.settings.test
当我运行python manage.py test时,输出显示65次测试。
将不胜感激。
谢谢!
答案 0 :(得分:0)
通过删除.coverage和.coveragerc(实际上将.coverage移动到/ tmp)并在shell命令行上运行每个应用程序的覆盖范围,我获得了报告中的所有应用程序。
但这对报告的影响太大了,包括网站套餐!
我把.coveragerc移回去了,编辑它以包含我想要的(我所有的应用程序)并排除我不想要的东西(比如网站包)。
该报告现已令人满意。