pytest框架之parametries数据驱动参数化
2024-09-06 08:54:07
在测试用例的前面加上:@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)]
运行结果:
最新文章
- Centos启动Cassandra交互模式失败:No appropriate python interpreter found
- 【特别推荐】8个富有创意的jQuery/CSS3插件
- Linux 磁盘分区
- 为Form中的控件增加自适应功能 转
- Template、ItemsPanel、ItemContainerStyle、ItemTemplate
- Flask与Ajax
- 【leetcode】10.Regular Expression Matching
- 关于PHP 采集类
- 金三银四,今年Python就业前,看看这篇文章找找感觉
- 数据库设计入门及ERMaster的安装和使用
- setTimeout代替setInterval的写法以及setInterval的弊端以及越来越快的解决办法
- AnnotationConfigBeanDefinitionParser are only available on JDK 1.5 and higher
- rman restore spfile from backup
- Codeforces Round #394 (Div. 2) C. Dasha and Password
- bzoj 4631: 踩气球 线段树合并
- 使用CoreData [3]
- Paint、Canvas、Matrix使用解说(一、Paint)
- 转CentOS — MySQL备份 Shell 脚本
- 为 Blade 模板引擎添加新文件扩展名
- synchronized一个(二)