unittest_parameterized批量测试测试用例

import unittest
from parameterized import parameterized

def add(x, y):
    return x+y

"""
    问题:
        如果有三组数据需要测试?
        [(1,1,2), (1,2,3), (0,3,3)]
"""


def get_data():
    return [(1, 2, 3), (3, 0, 3), (2, 1, 3)]


# 定义测试类 并 继承
class Test01(unittest.TestCase):
    # 定义测试方法 注意:以test字母开头
    @parameterized.expand(get_data())
    def test_add(self, a, b, expect):
        # 调用 要是的函数
        result = add(a, b)
        assert result == expect


首先,代码定义了一个简单的 `add` 函数,它接受两个参数 `x` 和 `y`,并返回它们的和。
然后,代码定义了一个 `get_data` 函数,它返回一个包含三组数据的列表。每组数据都是一个元组,包含三个元素:两个要加的数字和一个期望的结果。
接下来,代码导入了 `unittest` 和 `parameterized`。`parameterized` 库允许您为测试方法提供多个参数,从而可以用同一套测试代码测试不同的输入数据。
`Test01` 类继承自 `unittest.TestCase`,这意味着它是一个测试类。在这个类中,`test_add` 方法是一个测试方法,它使用 `@parameterized.expand` 装饰器来扩展测试用例。`@parameterized.expand(get_data())` 表示 `test_add` 方法将使用 `get_data()` 函数返回的每组数据作为参数来调用。
`test_add` 方法接受三个参数:`a`、`b` 和 `expect`。这些参数分别对应于 `get_data` 函数返回的每组数据中的两个加数和期望的结果。在测试方法中,调用 `add(a, b)` 来获取实际的结果,并使用 `assert` 语句来断言实际结果与期望结果相等。

通过则: 

不通过则:

相关推荐

  1. pytest+allure批量执行测试

    2024-05-04 05:00:01       53 阅读
  2. 设计测试

    2024-05-04 05:00:01       50 阅读
  3. 关于测试

    2024-05-04 05:00:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-04 05:00:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-04 05:00:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-04 05:00:01       82 阅读
  4. Python语言-面向对象

    2024-05-04 05:00:01       91 阅读

热门阅读

  1. SpringWebFlux提供模拟CRUD的RouteFunction类型的api请求

    2024-05-04 05:00:01       30 阅读
  2. 如何成为一个能量充沛的人

    2024-05-04 05:00:01       32 阅读
  3. pyqt5报错

    2024-05-04 05:00:01       30 阅读
  4. 基于spring security框架遇到的401认证错误的定位

    2024-05-04 05:00:01       32 阅读
  5. 62. 不同路径

    2024-05-04 05:00:01       31 阅读
  6. P4_16使用table实现通用的switch分支语句

    2024-05-04 05:00:01       34 阅读
  7. C#核心之概述

    2024-05-04 05:00:01       33 阅读