我有一个不同模块中的测试用例列表(此处仅显示一瞥,但实际上计数约为 10)。我希望 pytest 按顺序执行这些模块,第一个 module-a.py,下一个 module-b.py 等等......但是,我知道在模块中排序测试用例,它工作得很好。
我们的整个应用程序是一种管道,其中模块-a 的输出由模块-b 等消耗。我们希望按照定义的模块顺序完全端到端地测试它。
module-a.py
-----------
import pytest
@pytest.mark.run(order=2)
def test_three():
assert True
@pytest.mark.run(order=1)
def test_four():
assert True
module-b.py
-----------
@pytest.mark.run(order=2)
def test_two():
assert True
@pytest.mark.run(order=1)
def test_one():
assert True
从上面的代码中,我希望依次执行 module-a test_four、test_three module-b test_one、test_two。
目前,我们正在使用 --cov-append 运行每个模块,如下所示并生成最终覆盖率。
pytest module-a.py
pytest --cov-append module-b.py
任何人都可以帮助更好的方法或更好的方法。