在pytest中,可以使用@pytest.mark.parametrize
装饰器来实现参数化功能。以下是一个示例代码:
import pytest
# 定义测试函数
def add(x, y):
return x + y
# 使用@pytest.mark.parametrize装饰器指定参数化的参数
@pytest.mark.parametrize("x, y, expected", [
(1, 2, 3), # 第一组参数
(-1, -1, -2), # 第二组参数
(0, 0, 0) # 第三组参数
])
def test_add(x, y, expected):
assert add(x, y) == expected
在上面的例子中,test_add
函数使用了@pytest.mark.parametrize
装饰器,并传入了三个参数:x
、y
和expected
。@pytest.mark.parametrize
装饰器的第二个参数是一个列表,每个元素都是一个包含参数值的元组。运行测试时,pytest会使用每组参数值依次执行测试函数,并根据断言的结果判断测试是否通过。
你可以在命令行中运行pytest
命令来运行这个测试函数。在输出结果中,你会看到每组参数的测试结果。