如果每条测试用例都需要添加fixture功能,则需要在每一个用例方法里面传入这个fixture的名字,例如在装饰器里添加一个参数autouse="true",她会自动应用到所有的测试方法中,只是这里没有办法返回值给测试用例。
import pytest
@pytest.fixture(autouse="true")#每个测试函数都会自动调用这个前置函数
def myfixture():
print("this is my fixture")
class TestAutoUse:
def test_one(self):
print("执行test_one")
assert 1+2 == 3
def test_two(self):
print("执行test_two")
assert 1==1
def test_three(self):
print("执行test_three")
assert 1+2 == 2
执行结果:
从上面的运行结果可以看出,在方法myfixture()上面添加了装饰器@pytest.fixture(autouse="ture"),测试用例无需传入fixture的名字,它会自动在每条用例之前执行这个fixture.