Pytest---yield

场景:你已经可以将测试方法前要执行的或依赖的解决了,测试 方法后销毁清除数据的要如何进行呢?范围是模块级别的。类似 setupClass

解决:通过在同一模块中加入 yield关键字,yield是调用第一次 返回结果,第二次执行它下面的语句返回。

py1.py
import pytest
@pytest.fixture()
def login():
print('输入用户名密码登陆')
yield
print('退出登陆')



py2.py
def 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,

登陆后执行支付功能操作
退出登陆

posted on 2019-10-08 22:29  barton123  阅读(294)  评论(0)    收藏  举报

导航