fixture特性
1. 可以重复使用,多个用例可以使用同一个fixture
2. 一个测试用例可以使用多个装置
import pytest
@pytest.fixture
def first_entry():
return "a"
@pytest.fixture
def second_entry():
return 2
@pytest.fixture
def order(first_entry, second_entry):
return [first_entry, second_entry]
2.1 如果多个装置存在yield,则是先进后出
import pytest
@pytest.fixture
def a():
print("hello")
yield
print("this is a")
@pytest.fixture
def b():
print("world")
yield
print("this is b")
def test_demo(a, b):
print("this is test_demo")
if __name__ == '__main__':
pytest.main(["-sv", "test1.py"])
3. fixture的返回值不需要接收
4. fixfure多重嵌套