Покрытие pytest никогда не запускает тело функции - PullRequest
0 голосов
/ 05 мая 2020

Я использую vscode с pytest и pytest-cov, чтобы создать отчет о покрытии для моих тестов. Однако независимо от того, что я делаю, в отчете всегда указывается, что код не запускался, хотя я знаю, что тестовые функции вызывают рассматриваемый код.

Моя структура проекта, упрощенная для ясности,

Root
 ├── src
 |    └──my_package
 |         ├──__init__.py
 |         └──my_module.py
 ├── tests
 |    └──my_package_tests
 |         ├──__init__.py
 |         └──my_module_test.py
 └── pytest.ini

pytest.ini содержит

[pytest]
addopts = --cov=my_package --cov-report=html:./reports/coverage_report

Тесты импортируют и вызывают функции из my_package

Когда я запускаю тесты и смотрю на сгенерированный отчет, я вижу, что строки в my_package помечаются как запущенные при импорте модуля, но код в телах функций не помечается как выполненный. Тест пройден, поэтому код выполняется.

Я не понимаю по этому поводу. Я пробовал делать это только через командную строку, удаляя pytest-cov и пробуя вручную, но ничего не помогло.

...