在测试用例的前面加上:@pytest.mark.parametrize('参数名', 列表数据)

参数名:用来接收每一项数据,并作为测试用例的参数

列表参数:一组测试数据(元组、列表、字典)

方式一:

  @pytest.mark.parametrize('参数', [数据1, 数据2, 数据3......])

import pytest

@pytest.mark.parametrize('demo', [1, 2, 3, 4])
def test_demo(demo):
print(f'测试数据为:{demo}')
assert demo in [0, 1, 2, 3, 4, 5]

  运行结果:

  

方式二:

  @pytest.mark.parametrize('参数1 参数2', [(数据1, 数据2), (数据3, 数据4), (数据5, 数据6),......])

import pytest

@pytest.mark.parametrize('demo1, demo2', [(1, 2), (3, 4)])
def test_demo(demo1, demo2):
print(f'测试数据为:{demo1}和{demo2}')
assert demo1, demo2 in [(1, 2), (3, 4), (5, 6)]

  运行结果:

  

方式三(笛卡尔积):

  使用多个@pytest.mark.parametrize

import pytest

@pytest.mark.parametrize('demo1', [1, 2])
@pytest.mark.parametrize('demo2', [3, 4])
def test_demo(demo1, demo2):
print(f'测试数据为:{demo1}和{demo2}')
assert (demo1, demo2) in [(1, 3), (1, 4), (2, 3), (2, 4), (5, 6)]

  运行结果:

  

最新文章

  1. Centos启动Cassandra交互模式失败:No appropriate python interpreter found
  2. 【特别推荐】8个富有创意的jQuery/CSS3插件
  3. Linux 磁盘分区
  4. 为Form中的控件增加自适应功能 转
  5. Template、ItemsPanel、ItemContainerStyle、ItemTemplate
  6. Flask与Ajax
  7. 【leetcode】10.Regular Expression Matching
  8. 关于PHP 采集类
  9. 金三银四,今年Python就业前,看看这篇文章找找感觉
  10. 数据库设计入门及ERMaster的安装和使用
  11. setTimeout代替setInterval的写法以及setInterval的弊端以及越来越快的解决办法
  12. AnnotationConfigBeanDefinitionParser are only available on JDK 1.5 and higher
  13. rman restore spfile from backup
  14. Codeforces Round #394 (Div. 2) C. Dasha and Password
  15. bzoj 4631: 踩气球 线段树合并
  16. 使用CoreData [3]
  17. Paint、Canvas、Matrix使用解说(一、Paint)
  18. 转CentOS — MySQL备份 Shell 脚本
  19. 为 Blade 模板引擎添加新文件扩展名
  20. synchronized一个(二)

热门文章

  1. 常用注解解析(因为不太明白@component和@configuration写了)
  2. 选择IT公司的雇主提问
  3. 第05组 Beta版本演示
  4. 关于实现序列化接口Serializable
  5. C#中实现文件重命名的方式
  6. html+css面试题(一)
  7. SAP 资产相关日期
  8. Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统
  9. 向busybox中添加自己的applet
  10. Druid-代码段-1-3