Select pytest 覆盖率测试套件

Select suite of tests for coverage with pytest

我正在 运行 一组 pytest 的测试,并且还想用 coverage 包测量它的覆盖率。

我的代码中有一些装饰器,使用类似的东西将测试分成几个套件:

@pytest.mark.firstgroup
def test_myfirsttest():
    assert True is True

@pytest.mark.secondgroup
def test_mysecondtest():
    assert False is False

我需要找到类似的东西:

coverage run --suite=firstgroup -m pytest

因此在这种情况下,只有第一个测试(因为它在正确的套件中)将用于测试覆盖率。

当我直接使用时套件工作正常 pytest 但我不知道如何在 coverage

中使用它们

有什么方法可以配置 coverage 来实现这个目标吗?

您可以将任何您想要的参数传递给 pytest。如果此行有效:

pytest --something --also=another 1 2 foo bar

然后你可以运行它在这样的覆盖范围内:

coverage run -m pytest --something --also=another 1 2 foo bar