Skip to content

Pytest 测试用例执行顺序自定义 Pytest-ordering


简介

Pytest-ordering 是一个 Pytest 插件,可自定义 Pytest 测试用例的执行顺序。这对于确保特定的测试用例在其他测试用例之前或之后运行非常有用。


使用场景

对于集成测试,经常会有上下文依赖关系的测试用例。比如 10 个步骤,拆成 10 条 case,这时候能知道到底执行到哪步报错。

而用例默认执行顺序是自上而下执行的。

这时可以通过 setup,teardown 和 fixture 来解决。也可以使用对应的插件。


使用步骤

  • 安装:pip install pytest-ordering
  • 用法:@pytest.mark.run(order=2)

注意:多个插件装饰器(>2)的时候,有可能会发生冲突。


import pytest


#@pytest.mark.run(order=2)
@pytest.mark.third
def test_foo():
    assert True

# @pytest.mark.run(order=1)
@pytest.mark.first
def test_bar():
    assert True

# @pytest.mark.run(order=2)
@pytest.mark.second
def test_bar1():
    assert True

在未使用 Pytest-ordering 时执行顺序默认为从上到下。


使用 Pytest-ordering 自定义执行顺序。


总结

  • 插件使用场景
  • 插件使用步骤