pytest动态添加参数,
Py参数化定制pytest案例标题[@ py test . mark . parameterize(ids=XXX)]_ MB 62 af F3 AFB 54 FB _ 51 CTO博客的技术博客
简介:ids
含义:用例的ID
格式:传递字符串列表
功能:您可以识别每个测试用例,并定制测试数据结果的显示,以增加可读性。
强调:ids列表的长度需要与测试数据列表的长度一致。pytest用decorator @ py test . mark . parameterize参数化后,控制台或测试报告中的测试用例标题都是以参数组合命名的【后面是括号内的内容】。这样的标题看起来不直观;
我们想展示我们自己定义的标题。这时候就需要用decorator @ py test . mark . parameter ize参数化的另一个参数ids来实现了。
在使用ids之前:# file _ name:test _ parameterize . py
导入pytest
def返回_用户():
return [(lwjnicole , 12345 ),( nicole , 123111)]
类测试_D:
@ pytest . mark . parameter ize(用户名,密码,return_user())
def test_login(自身、用户名、密码):
print(用户名={},密码={} 。格式(用户名、密码))
assert username==lwjnicole
if __name__==__main__ :
Test.main ([-s , test _ parameter ize . py ])运行结果:
从结果中我们可以看到,当测试用例数据参数化时,测试用例的标题是所有参数的组合,看起来不是很直观。
使用ids定制测试用例标题# file _ name:test _ parameter ize . py。
导入pytest
def返回_用户():
return [(lwjnicole , 12345 ),( nicole , 123111)]
类测试_D:
@ pytest . mark . parameter ize(用户名,密码,
return_user(),
ids=[
登录成功,
“登录失败”
])
def test_login(自身、用户名、密码):
print(用户名={},密码={} 。格式(用户名、密码))
assert username==lwjnicole
if __name__==__main__ :
Test.main ([-s , test _ parameter ize . py ])运行结果:
从结果中我们可以看到,测试用例的标题不再是参数的组合,而是我们在参数id中定义的,这样我们就可以自定义测试用例的标题。
一个更直观的例子:
用例的测试点可以显示在每个测试用例的后面,使得测试结果的显示更加直观。
期待陌生,拥抱惊喜。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。