pytest框架设计各个模块函数的指定执行顺序
时间: 2023-10-26 14:55:38 浏览: 177
5.5 框架程序的执行顺序
pytest框架设计各个模块函数的指定执行顺序,可以通过使用装饰器 `@pytest.mark.run()` 来指定执行顺序。以下是几个常用的装饰器:
1. `@pytest.mark.run(order=n)`:指定测试函数执行的顺序,其中 `n` 是一个整数,表示执行的顺序,数字越小优先级越高。
```python
import pytest
@pytest.mark.run(order=1)
def test_function1():
pass
@pytest.mark.run(order=2)
def test_function2():
pass
@pytest.mark.run(order=3)
def test_function3():
pass
```
2. `@pytest.mark.dependency()`:指定测试函数之间的依赖关系,确保依赖的测试函数在被依赖的测试函数之前执行。
```python
import pytest
@pytest.mark.dependency()
def test_function1():
pass
@pytest.mark.dependency(depends=["test_function1"])
def test_function2():
pass
@pytest.mark.dependency(depends=["test_function2"])
def test_function3():
pass
```
3. `@pytest.mark.parametrize()`:参数化测试函数,并按照指定的参数执行多次。
```python
import pytest
@pytest.mark.parametrize("input", [1, 2, 3])
def test_function(input):
assert input > 0
```
这些装饰器可以根据你的需求来灵活组合使用,以满足不同的测试场景和执行顺序要求。
阅读全文