用yield实现teardown
我们可以用setup和teardown函数来实现pytest中用例的开始和结束,今天介绍用 yield来实现测试用例的结束
作用域module
import pytest
@pytest.fixture(scope='module')
def login():
print('开始登陆')
yield
print('退出登陆')
def test01():
print('01')
def test02(login):
print('02')
def test03(login):
print('03')
运行结果:
collected 3 items
test_01.py 01
.开始登陆
02
.03
.退出登陆
================================================== 3 passed in 0.34s ==================================================
scope=module前面已经介绍,当前模块中只会执行一次,执行顺序如下:
1、当前模块第一个用例 test01 --> 01
2、第二个用例 test02(调用了login) --> 调用login:开始登陆(遇到yield,开始执