fix(test): 修复 mock clip 缺失字段导致 7 个单测 Pydantic 校验失败 #1407
Reference in New Issue
Block a user
Delete Branch "fix/test-clip-mock-fields"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
PR #1404 的 Clips API 改造引入了
EditorClipResponseschema,要求template_clip_config_id、created_at、updated_at为str类型。但
tests/unit/test_templates_editor_api.py中的_make_mock_clip使用MagicMock()构造 mock clip,未显式设置这 3 个字段。MagicMock 自动生成的属性是MagicMock对象而非字符串,导致 Pydantic 校验失败:修复
在
_make_mock_clip中显式设置缺失字段为正确类型:_fmt_dt已处理None→ 返回空字符串,与 schema 的默认值一致。验证
pytest tests/unit/test_templates_editor_api.py -v全部通过🚀 预览环境已部署
The merge endpoint returns {"merged_clip": {...}, "deleted_clip_ids": [...]} not a flat clip object. Update test_merge_clips_success to check data["merged_clip"] instead of data directly.【阻塞级判定】
📊 审查概览
🔴 阻塞级问题(必须修复)
无
💡 改进建议(不阻塞合并)
无
✅ 良好实践
_make_mock_clip中补充了template_clip_config_id、created_at和updated_at属性,使 Mock 对象更贴近实际数据模型,避免了测试过程中因属性缺失导致的潜在错误。test_merge_clips_success中的断言逻辑,从验证根节点id改为验证merged_clip.id,确保测试覆盖了新的响应结构。🤖 由 AI 代码审查机器人自动生成 | 2026-08-17 12:17:06 | 模型:
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #1407 已关闭或合并,对应的预览环境已被清理。