Python实现pytest的参数化功能,使得可以在多组输入参数下运行同一个测试函数。

在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装饰器,并传入了三个参数:xyexpected@pytest.mark.parametrize装饰器的第二个参数是一个列表,每个元素都是一个包含参数值的元组。运行测试时,pytest会使用每组参数值依次执行测试函数,并根据断言的结果判断测试是否通过。

你可以在命令行中运行pytest命令来运行这个测试函数。在输出结果中,你会看到每组参数的测试结果。

你可能感兴趣的:(python,python,pytest,开发语言)