охват django не включает большинство файлов py

Я запустил проект, который я создал с помощью резака для файлов cookie для django. В отчет включены py-файлы в пользовательском приложении, которое настроил для меня инструмент для обработки файлов cookie, а также мои html-шаблоны, но не включены ни один из моих py-файлов.

Я хочу, чтобы покрытие включало несколько моих py-файлов в каждое из моих 6 приложений. Что мне делать?

Прикрепляю скриншот моего отчета о покрытии.

скриншот отчета о покрытии

Проценты неплохие, но моих многочисленных .py файлов нет в отчете.

Я использую (слегка измененный) файл тестовых настроек, созданный для меня резаком для печенья, а именно:

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',
    ], ],
]

Чтобы запустить покрытие, вот моя команда оболочки:

покрытие запустить тест manage.py --settings=config.settings.test

Когда я запускаю тест python manage.py, на выходе отображается 65 тестов.

Помощь приветствуется.

Спасибо!


person Rick Graves    schedule 15.02.2018    source источник
comment
Где в вашей структуре каталогов находятся отсутствующие файлы .py?   -  person MrName    schedule 15.02.2018


Ответы (1)


Я получил все приложения в отчете, удалив .coverage и .coveragerc (фактически переместив .coverage в /tmp) и запустив покрытие для каждого приложения в командной строке оболочки.

Но это слишком много в отчете, включая сайт-пакеты!

Я переместил .coveragerc обратно и отредактировал его, включив в него то, что хотел (все мои приложения), и исключив то, что мне не нужно (например, пакеты сайтов).

Теперь отчет удовлетворительный.

person Rick Graves    schedule 15.02.2018