前情摘要:在测试过程中,同一个用例,可能有多组入参,如果每个入参写一个用例就会显得有些繁琐,这时就需要进行参数化。
首先需要介绍一下函数:
pytest.mark.parametrize(argnames, argvalues)
argnames:参数名,多个参数中间用逗号隔开,用来接收每一项数据,并作为测试用例的参数。
argvalues:列表数据,用来存储一组测试数据,多组数据用元组类型,元组里的每个元素和按参数顺序一一对应
import pytest
@pytest.mark.parametrize('username,password', [
('guo', '123'),
('li', '123456'),
('wang', '123456789'),
('zhao', '1234567890')
])
def test_passwd_length(username, password):
assert len(passwd) >= 8
因为有四组数据,将四组数据依次代入函数,结果生成四个测试用例