DDT数据驱动
DDT数据驱动
步骤 功能说明 代码实现位置 1. 环境准备 导入 unittest
、ddt
等依赖库import unittest
from ddt import ddt, data, unpack
2. 启用DDT装饰器 在测试类上标记 @ddt
以启用数据驱动@ddt
class TestUserAPI(unittest.TestCase):
3. 测试数据定义 从外部文件加载 4. 参数化测试方法 使用 @data
加载数据,@unpack
拆分参数@data(*TEST_CASES)
@unpack
def test_login(...)
# ================ 1. 环境准备 ================ import unittest import requests from ddt import ddt, data, unpack # 关键DDT模块 # ================ 2. 测试类定义 ================ @ddt # 必须添加ddt装饰器 class TestUserAPI(unittest.TestCase): # ========== 3. 测试数据准备 ========== # 从外部文件加载(如JSON/YAML) # @data(*load_test_data("data/user_cases.json")) # ========== 4. 参数化测试方法 ========== @data(*TEST_CASES) # 解包测试数据 @unpack # 拆分元组到方法参数 def test_login(self, case_name, username, password, expected_code): """多场景登录接口测试""" url = "https://api.example.com/login" payload = {"username": username, "password": password} response = requests.post(url, json=payload) # 断言验证 self.assertEqual(response.status_code, expected_code, f"用例 [{case_name}] 失败: 状态码不符合预期") # ================ 5. 执行测试 ================ if __name__ == "__main__": unittest.main()