Python отчет о покрытии, охватывающий только тестовый файл - PullRequest
2 голосов
/ 12 марта 2020

Я довольно новичок в участии в проектах с открытым исходным кодом и пытаюсь получить некоторые отчеты о покрытии, чтобы я мог узнать, что нуждается в большем / лучшем тестировании. Однако у меня возникают проблемы с получением полного покрытия теста. Это для pytorch

Например, допустим, я хочу получить отчет о покрытии test_indexing_py.

Я запускаю команду:

pytest test_indexing.py --cov=../ --cov-report=html

В результате:

================================================= test session starts =================================================
platform win32 -- Python 3.7.4, pytest-5.2.1, py-1.8.0, pluggy-0.13.0
rootdir: C:\Projects\pytorch
plugins: hypothesis-5.4.1, arraydiff-0.3, cov-2.8.1, doctestplus-0.4.0, openfiles-0.4.0, remotedata-0.3.2
collected 62 items

test_indexing.py ............................s.................................                                  [100%]

----------- coverage: platform win32, python 3.7.4-final-0 -----------
Coverage HTML written to dir htmlcov


=========================================== 61 passed, 1 skipped in 50.43s ============================================

Хорошо, похоже, что тесты прошли. Теперь, когда я проверяю html отчет о покрытии , я получаю покрытие только для тестового файла, а не для тестируемых классов (тесты упорядочены по проценту охвата).

Как вы видно, я получаю покрытие только для test_indexing.py. Как получить полный отчет о покрытии, включая протестированные классы?

Любые рекомендации будут с благодарностью.

1 Ответ

0 голосов
/ 13 марта 2020

Я думаю, это потому, что вы просите проверить покрытие из каталога, в котором выполняется тестирование, ie, где test_indexing.py.

Лучший подход - это запустить тест из самого каталога root, а не из тестового каталога, у него есть несколько преимуществ, таких как чтение файла конфигурации и все.

А что касается вашего вопроса попробуйте запустить тест из каталога root и попробуйте

  • pytest path/to/test/ --cov --cov-report=html
...