@pytest.mark.parametrize传参
时间: 2023-04-23 20:01:05 浏览: 77
@pytest.mark.parametrize是pytest框架中的一个装饰器,用于参数化测试。它可以让我们在测试函数中传入多组参数,从而避免重复编写测试用例的繁琐过程。使用该装饰器时,我们需要在函数上方添加该装饰器,并在装饰器中指定参数名和参数值的列表。在测试函数中,我们可以通过参数名来引用传入的参数值,从而进行测试。
相关问题
@pytest.mark.parametrize实例代码
`@pytest.mark.parametrize` 是 pytest 框架中的一个装饰器,用于参数化测试用例。通过该装饰器,我们可以将多组参数传递给同一个测试函数,并自动运行多次测试,以验证不同参数下的测试结果。
以下是一个 `@pytest.mark.parametrize` 的实例代码:
```python
import pytest
def add(a, b):
return a + b
@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
```
在上述代码中,我们定义了一个 `add` 函数用于两个数相加。然后,我们使用 `@pytest.mark.parametrize` 装饰器来标记 `test_add` 函数,并传递了三个参数:`a`、`b` 和 `expected`。每个参数都是一个列表,其中包含多组参数值。
当运行测试时,pytest 将自动使用每组参数值来执行 `test_add` 函数,并验证实际结果是否与期望结果一致。
@pytest.mark.parametrize
@pytest.mark.parametrize是pytest库中的一个装饰器,可以用来自动生成测试用例。它可以传入多个参数,每组参数对应一个测试用例。例如:
```
@pytest.mark.parametrize("x, y, expected", [(1, 2, 3), (2, 3, 5), (3, 4, 7)])
def test_add(x, y, expected):
assert add(x, y) == expected
```
上面的代码会生成三个测试用例,分别为:
- `test_add(1, 2, 3)`
- `test_add(2, 3, 5)`
- `test_add(3, 4, 7)`
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)