pytest参数化调用
时间: 2023-09-22 20:09:01 浏览: 110
Python基础教程之pytest参数化详解.pdf
pytest提供了参数化测试的功能,可以使用@pytest.mark.parametrize装饰器来实现参数化调用。下面是一个示例代码:
```python
import pytest
# 定义测试函数
def add(x, y):
return x + y
# 使用参数化装饰器
@pytest.mark.parametrize("x, y, expected", [(1, 2, 3), (3, 4, 7), (5, 5, 10)])
def test_add(x, y, expected):
assert add(x, y) == expected
```
在上述代码中,使用@pytest.mark.parametrize装饰器对test_add函数进行参数化调用。装饰器的第一个参数是一个字符串,用于指定测试函数的参数名。后面的列表中,每个元组表示一组参数值,依次对应测试函数的参数。在这个例子中,test_add函数将会被调用3次,分别传入(1, 2, 3),(3, 4, 7),(5, 5, 10)这三组参数。每次调用时,测试框架会自动将对应的参数传入测试函数中,并进行断言判断。
使用pytest运行上述代码,如果所有断言都通过,则表示测试通过。可以使用以下命令运行测试:
```
pytest 文件名.py
```
希望能解答到你的问题!如果还有其他问题,请继续提问。
阅读全文