pytest(二十一)--使用多个fixture和fixture直接互相调用
使用多个fixture
如果用例需要用到多个fixture的返回数据,fixture也可以return一个元组、list或字典,然后从里面取出对应数据。
#test_fix1.py
import pytest
@pytest.fixture()
def user():
a="admin"
b="123456"
return (a,b)
def test_t1(user):
u=user[0]
p=user[1]
print("user类型{}".format(type(user))) #查看返回类型
print("用户名:{},密码:{}".format(u,p))
assert u=="admin"
if __name__=="__main__":
pytest.main(["test_fix1.py"])
运行结果:

当然也可以分开定义成多个fixture,然后test_用例传多个fixture参数
#test_fix1.py
import pytest
@pytest.fixture()
def user():
a="admin"
return a
@pytest.fixture()
def pwd():
p="888888"
#return p
def test_t1(user,pwd):
u=user
p=pwd
print("user类型{}".format(type(user))) #查看返回类型
print("用户名:{},密码:{}".format(u,p))
assert p==None
if __name__=="__main__":
pytest.main(["test_fix1.py"])
运行结果

fixture与fixture互相调用
#test_fix1.py
import pytest
@pytest.fixture()
def user():
a="admin"
return a
@pytest.fixture()
def pwd(user):
p="888888"
return user,p
def test_t1(user,pwd):
u=user
p=pwd[1]
print("pwd类型{}".format(type(pwd))) #查看返回类型
print("用户名:{},密码:{}".format(u,p))
assert p!=None
if __name__=="__main__":
pytest.main(["test_fix1.py"])
运行结果:

越努力,越幸运!!!
good good study,day day up!!!
浙公网安备 33010602011771号