Ответ 1
Добавьте --source=.
в строку выполнения покрытия. Он оба ограничит фокус текущему каталогу и будет искать файлы .py, которые не были запущены вообще.
Я только начал писать некоторые модульные тесты для проекта python, который я использую unittest и покрытие. Я только сейчас тестирую небольшую долю, но пытаюсь разработать покрытие кода
Я запускаю свои тесты и получаю покрытие, используя следующие
python -m unittest discover -s tests/
coverage run -m unittest discover -s tests/
coverage report -m
Проблема, с которой я сталкиваюсь, заключается в том, что покрытие говорит, что у меня 44% -ый охват кода и только подсчет файлов, которые:
Кроме того, он говорит, что файлы, которые фактически протестированы в этих модульных тестах, имеют только первые несколько проверенных строк (которые в большинстве случаев являются операторами импорта)
Как получить более реалистичное покрытие кода или это как оно должно быть?
Добавьте --source=.
в строку выполнения покрытия. Он оба ограничит фокус текущему каталогу и будет искать файлы .py, которые не были запущены вообще.
Если вы используете nose
вместо testrunner, плагин для него обеспечивает
--cover-inclusive Include all python files under working directory in
coverage report. Useful for discovering holes in test
coverage if not all files are imported by the test
suite. [NOSE_COVER_INCLUSIVE]
--cover-tests Include test modules in coverage report
[NOSE_COVER_TESTS]