场景:你已经可以将测试方法前要执行的或依赖的解决了,测试 方法后销毁清除数据的要如何进行呢?范围是模块级别的。类似 setupClass
解决:通过在同一模块中加入 yield关键字,yield是调用第一次 返回结果,第二次执行它下面的语句返回。
py1.pyimport pytest@pytest.fixture()def login(): print('输入用户名密码登陆') yield print('退出登陆')
py2.pydef test_cart(login): print('用例1,登陆后执行添加购物车功能操作')def test_search(): print('用例2,不登陆查询功能操作')def test_pay(login): print('用例3,登陆后执行支付功能操作')执行结果:
输入用户名密码登陆
PASSED [ 33%]用例1,
登陆后执行添加购物车功能操作
退出登陆
test_fixure.py::test_search PASSED [ 66%]用例2,
不登陆查询功能操作
test_fixure.py::test_pay 输入用户名密码登陆
PASSED [100%]用例3,
登陆后执行支付功能操作
退出登陆