本地企业网站建设服务磁力搜索器kitty
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()