首页 > 解决方案 > pytest-ordering order 模块不是模块内的测试用例

问题描述

我有一个不同模块中的测试用例列表(此处仅显示一瞥,但实际上计数约为 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

任何人都可以帮助更好的方法或更好的方法。

标签: pythonpytestpytest-cov

解决方案


推荐阅读