首页 > 解决方案 > 使用 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来实现这一点?

标签: pythonpytestcode-coveragecoverage.py

解决方案


你可以将任何你想要的参数传递给 pytest。如果这条线有效:

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

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

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

推荐阅读