@pytest.mark.parametrize的用法
时间: 2024-05-15 10:18:45 浏览: 88
Pytest参数化parametrize使用代码实例
`@pytest.mark.parametrize`是pytest框架中的一个装饰器,用于参数化测试用例。它可以让我们根据不同的参数值运行同一个测试用例多次,以便于更全面地覆盖测试场景。
它的用法是将参数列表作为装饰器的参数,然后将测试用例中需要参数化的参数替换为装饰器传入的参数。例如:
```python
import pytest
@pytest.mark.parametrize("param1,param2,result", [(1,2,3), (2,3,5), (4,4,8)])
def test_add(param1, param2, result):
assert param1 + param2 == result
```
在这个示例中,我们定义了一个名为`test_add`的测试用例,其中包含三个参数`param1`、`param2`和`result`,分别表示加数1、加数2和预期结果。我们使用`@pytest.mark.parametrize`装饰器将三组参数传递给测试用例,分别是(1,2,3)、(2,3,5)和(4,4,8),分别代表了三个测试场景。在测试用例中,我们使用传入的参数来计算加法,并使用`assert`语句来断言计算结果是否符合预期。
当我们运行这个测试用例时,pytest框架会自动将三组参数传递给测试用例,并执行三次测试,分别对应三个测试场景。
阅读全文