Pytest项目_day14(参数化、数据驱动)
parametrize
- 参数化可以组装测试数据。在测试前定义好测试数据,并在测试用例中使用
单参数单次循环
- 我们可以在装饰器中使用
mark.parametrize
,来定义参数名和参数值列表- 参数名还需要传给函数
- 参数名需要用字符串来定义,参数值列表需要用可迭代对象来定义
- 如果我们只定义了一个参数名,并且只有一个参数值元素,那么只会将该元素赋值给参数名后,执行一次该测试用例
单参数多次循环
- 如果我们的参数值列表有多个元素,那么pytest会依次将列表中的每一个元素都赋值给参数,同时执行一次测试用例
多参数多次循环
- 我们可以定义多个参数名,并设置对应的多个参数值列表
- 每个参数名都需要传给函数
- 注意参数值列表中的每个元素也需要是可迭代对象,比如我们可以使用元组,列表等
- 参数值列表的对象还可以使用字典来定义
- 注意:我们需要用字典中访问value的方式,即
["key"]
来访问value
- 当我们的参数值列表中的元素为字典时,那么我们赋值给参数名的时字典对象,因此可以有多个key值