函数和固件都可以参数划,参数化后可以依次去读取真实的值,参考例子
@pytest.fixture(params=[
('redis', '6379'),
('elasticsearch', '9200')
])
def param(request):
login,password=request.param
print (login,password)
@pytest.mark.parametrize('t1,t2',[(1,2),(3,4)])
def test_api(param,t1,t2):
print (t1+t2)
if __name__ == '__main__':
pytest.main(['-s','test_db.py'])
循环4次输出结果
固件参数化需要使用 pytest 内置的固件 request
,并通过 request.param
获取参数。