pytest的fixture梳理

fixture特性

1. 可以重复使用,多个用例可以使用同一个fixture

2. 一个测试用例可以使用多个装置

import pytest
# Arrange
@pytest.fixture
def first_entry():
    return "a"

# Arrange
@pytest.fixture
def second_entry():
    return 2

# Arrange
@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"])

pytest的fixture梳理_第1张图片

3. fixture的返回值不需要接收

4. fixfure多重嵌套

你可能感兴趣的:(pytest,python,开发语言)