Ответ 1
Решение:
[run]
omit = ../*migrations*
Я использую coverage.py, чтобы проверить тестовое покрытие моего приложения django. Однако, поскольку я использую Юг для миграции моей базы данных, все эти файлы отображаются с 0% и испортили общий процент.
Я уже пробовал использовать --omit=*migrations*
как в run
, так и в report
(и обоих), но это не сработало.
Я пробовал версии 3.4 и последнюю версию от Bitbucket по состоянию на 20 декабря 2010 года с тем же результатом.
Любые идеи о том, как я могу получить cover.py, чтобы фактически игнорировать папки переноса?
Решение:
[run]
omit = ../*migrations*
Вы должны иметь возможность сопоставления с каталогом миграций, чтобы опустить эти файлы. Вы пробовали ссылаться на аргумент? В зависимости от вашей ОС и оболочки она может преждевременно расширять эти звездочки. Попробуйте это следующим образом:
--omit='*migrations*'
В качестве альтернативы вы можете поместить коммутатор в файл .coveragerc:
[run]
omit = *migrations*
Последняя версия django-jenkins имеет новую опцию COVERAGE_WITH_MIGRATIONS, которая исключала бы миграцию. Это еще не в PyPI, поэтому вам нужно установить его с URL-адресом url git с параметром pip/easy_install url.
Вы пробовали django_coverage. Я думаю, что он справляется с такой проблемой.
Это сработало для меня:
coverage run --source='.' --omit='*/migrations/*.py' manage.py test
попробовать:
coverage run --source=. manage.py test app_name
это игнорирует сторонний код и исправляет вашу проблему%