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

2024-01-08 21:54:18

在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命令来运行这个测试函数。在输出结果中,你会看到每组参数的测试结果。

文章来源:https://blog.csdn.net/xukris/article/details/135378371
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。