pytest动态添加参数,

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: