我将 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 并手动尝试,但没有任何效果。