Как узнать покрытие для приложения django? - PullRequest
1 голос
/ 23 сентября 2011

У меня есть простой проект django, который содержит некоторые приложения. Все работает хорошо. Теперь, как я могу проверить покрытие кода для моего проекта. Я установил инструмент coverge-3.5 и просто попытался узнать покрытие, набрав «отчет о покрытии» изтерминал ... Показывает какой-то результат, например

ИМЯ -----> (какой-то файл в моем проекте)

STMS -----> (некоторое число)

MISS -----> (некоторое число)

COVER -----> (несколько%)

В моем случае будет отображаться некоторый результат, который показывает только некоторые изимена файлов из моего проекта. Он не показывает покрытие для всех файлов из моего проекта. Как мне сделать так, чтобы он отображал все мои имена файлов ????

, пожалуйста, предложите какой-нибудь лучший рабочий инструмент покрытия, если вы знаете!

Ответы [ 3 ]

7 голосов
/ 19 апреля 2012

У меня просто получилось так:

coverage run --source=app1,app2 ./manage.py test --settings=path.to.test_settings app1,app2

Я не думаю, что это намеченный способ сделать это, так как мы вообще не используем команду ./manage.py test_coverage, но я не мог найти другой способ.

5 голосов
/ 23 сентября 2011

сначала убедитесь, что вы используете последнюю версию покрытия.чем вы можете сделать: предполагая, что ваш проект django находится в проекте project_parent / project, из запуска project_parent:

coverage html --include=project/*.*

это даст вам отчет о покрытии только вашего проекта (т.е. не будет отображаться стороннее покрытие lib)

2 голосов
/ 28 апреля 2013

Мне удается решить эту проблему с помощью django_coverage и django_nose

Я добавил в INSTALLED_APPS 'django_coverage' и 'django_nose'

с этимна settings.py

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

# Tell nose to measure coverage on the 'foo' and 'bar' apps
NOSE_ARGS = [
    '--with-coverage',
    '--cover-package=schedule',
]

для его установки

pip install django_coverage

Как его использовать?

Установка в качестве приложения Django Поместите все приложение:

django_coverage в каталог сторонних приложений.

Обновите ваши настройки. INSTALLED_APPS, чтобы включить django_coverage.

Включите специфичные для тестового покрытия настройки в свой собственный файл настроек.

См. Settings.py для более подробной информации.После того, как вы выполнили все шаги, у вас будет новая настраиваемая команда, доступная вам через manage.py test_coverage.

Работает так же, как тест manage.py.

Используйте его в качестве тестового бегуна

Вам не нужно устанавливать django_coverage как приложение, если вы не хотите.Вы можете просто использовать тестовый бегун, если хотите.Обновить настройки. TEST_RUNNER = 'django_coverage.coverage_runner.CoverageRunner' Включить специфичные для тестового покрытия настройки в ваш собственный файл настроек.Смотрите settings.py для более подробной информации.Запустите manage.py, как обычно.

...