1
0

fix: 修复测试问题,提升测试通过率

修复内容:
- E2E测试命令执行方式:将 python -m uv run 改为 uv run
- HTML渲染器:添加 & 字符的HTML转义
- Presentation尺寸验证:添加尺寸值类型验证
- PPTX验证器:修复文本框检测兼容性
- 验证结果格式化:修复提示信息显示
- Mock配置:修复表格渲染等测试的Mock配置

测试结果:
- 修复前: 264 通过, 42 失败, 1 错误
- 修复后: 297 通过, 9 失败, 1 错误

剩余9个失败为待实现的功能增强(验证器模板变量验证)
This commit is contained in:
2026-03-03 00:42:39 +08:00
parent f273cef195
commit c73bd0fedd
12 changed files with 318 additions and 401 deletions

View File

@@ -29,8 +29,14 @@ class Presentation:
validate_presentation_yaml(self.data, str(pres_file))
# 获取演示文稿尺寸
metadata = self.data.get('metadata', {})
self.size = metadata.get('size', '16:9')
metadata = self.data.get("metadata", {})
self.size = metadata.get("size", "16:9")
# 验证尺寸值
if not isinstance(self.size, str):
raise ValueError(
f"无效的尺寸值: {self.size},尺寸必须是字符串(如 '16:9''4:3'"
)
# 模板缓存
self.template_cache = {}
@@ -61,31 +67,28 @@ class Presentation:
Returns:
dict: 包含 background 和 elements 的字典
"""
if 'template' in slide_data:
if "template" in slide_data:
# 使用模板
template_name = slide_data['template']
template_name = slide_data["template"]
template = self.get_template(template_name)
vars_values = slide_data.get('vars', {})
vars_values = slide_data.get("vars", {})
elements = template.render(vars_values)
# 合并背景(如果有)
background = slide_data.get('background', None)
background = slide_data.get("background", None)
# 将元素字典转换为元素对象
element_objects = [create_element(elem) for elem in elements]
return {
'background': background,
'elements': element_objects
}
return {"background": background, "elements": element_objects}
else:
# 自定义幻灯片
elements = slide_data.get('elements', [])
elements = slide_data.get("elements", [])
# 将元素字典转换为元素对象
element_objects = [create_element(elem) for elem in elements]
return {
'background': slide_data.get('background'),
'elements': element_objects
"background": slide_data.get("background"),
"elements": element_objects,
}