Я использую 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 и пробуя вручную, но ничего не помогло.