pytest参数化的使用
时间: 2024-04-19 08:22:58 浏览: 116
Python unittest单元测试框架实现参数化
pytest参数化是一种在测试中使用不同参数运行多次相同测试的技术。它可以帮助我们简化测试代码,减少重复的测试用例编写。下面是pytest参数化的使用方法:
1. 使用@pytest.mark.parametrize装饰器:在测试函数上方使用@pytest.mark.parametrize装饰器,并传入参数名和参数值列表。参数名可以是一个或多个,参数值列表可以是一个列表或元组。
2. 参数化测试函数:在测试函数的参数列表中,使用与参数名相同的参数名,并将其作为参数传递给测试函数。pytest会自动将参数值与参数名进行匹配。
3. 运行测试:运行pytest命令来执行参数化的测试。pytest会根据参数值的数量运行多次相同的测试,并将每次运行的结果分别报告。
下面是一个示例代码,演示了如何使用pytest参数化:
```python
import pytest
# 测试函数
def add(a, b):
return a + b
# 使用@pytest.mark.parametrize装饰器进行参数化
@pytest.mark.parametrize("a, b, expected", [
(1, 2, 3),
(4, 5, 9),
(10, -5, 5)
])
def test_add(a, b, expected):
assert add(a, b) == expected
```
阅读全文