pytest覆盖:在多个文件夹上运行cov

时间:2019-08-19 12:08:10

标签: python pytest

我的项目的结构如下:

root/
  .coveragerc
  folder_a/
  folder_b/
  tests/
    folder_a/
    folder_b/

我想对coveragefolder_a运行folder_b。可以在单个命令中运行它吗?像pytest --cov=* tests/ --cov-report html ...

3 个答案:

答案 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