我的项目的结构如下:
root/
.coveragerc
folder_a/
folder_b/
tests/
folder_a/
folder_b/
我想对coverage
和folder_a
运行folder_b
。可以在单个命令中运行它吗?像pytest --cov=* tests/ --cov-report html
...
答案 0 :(得分:7)
我在这里发布@hoefling 的答案,因为我一开始没有在评论中看到答案,后来在查看所有评论时看到了。
要指定多个文件夹的覆盖范围,请多次提供 --cov
:
pytest --cov=folder_a --cov=folder_b --cov=folder_c
答案 1 :(得分:2)
是的。
例如,
对于结构,
> proj_folder
- > tests_functional
- > tests_unit
示例
$ pytest --cov=proj_folder proj_folder/tests_unit proj_folder/tests_functional
语法
$ pytest --cov=<proj_folder/package_name> <proj_folder>/tests_unit <proj_folder>/tests_functional
答案 2 :(得分:0)
我发现这很好用。它使用pytest运行coverage.py:
coverage run -m pytest
这是在项目制造商处运行的。它能够找到名为tests的文件夹,并在其中运行所有测试(被拆分为多个python文件)。要查看报告运行,请执行以下操作:
coverage report