2.2 KiB
2.2 KiB
ADDED Requirements
Requirement: E2E测试命令执行正常
E2E测试必须能够正确执行命令行工具,不应出现模块未找到的错误。
Scenario: convert命令执行成功
- WHEN 运行
uv run yaml2pptx.py convert input.yaml output.pptx - THEN 命令返回码为0,输出文件被创建
Scenario: check命令执行成功
- WHEN 运行
uv run yaml2pptx.py check input.yaml - THEN 命令返回码为0(验证通过)或1(验证失败),但不出现模块错误
Requirement: 测试Fixture完整定义
所有测试使用的fixture必须在conftest.py中正确定义。
Scenario: fixture依赖可用
- WHEN 测试引用sample_template fixture
- THEN fixture被正确解析并返回临时模板目录路径
Requirement: Mock对象配置正确
Mock对象在测试中必须正确配置返回值。
Scenario: 表格渲染Mock配置
- WHEN 测试渲染表格元素时使用Mock对象
- THEN Mock对象支持列宽设置的订阅操作
Requirement: 模板变量替换功能正常
模板系统必须正确替换所有变量,包括字体属性中的变量。
Scenario: 字体属性变量替换
- WHEN 模板包含
{variable_name}在font属性中 - THEN 变量被正确替换为实际值(需要用引号包裹)
Requirement: 验证结果格式化输出正确
验证结果必须正确格式化所有类型的消息。
Scenario: 提示信息显示
- WHEN 验证结果包含INFO级别的问题
- THEN 输出中应包含"个提示"文字
Requirement: HTML渲染器特殊字符转义
HTML渲染器必须正确转义特殊HTML字符。
Scenario: &字符转义
- WHEN 文本内容包含
&字符 - THEN 输出中应包含
&
Requirement: Presentation尺寸值验证
Presentation类必须验证尺寸值的类型,防止YAML解析错误。
Scenario: 非字符串尺寸值
- WHEN YAML中
size: 16:9(无引号) - THEN 抛出明确的错误信息
Requirement: PPTX验证器兼容性
PPTX文件验证器必须兼容不同版本的python-pptx。
Scenario: 文本框检测
- WHEN 验证PPTX中的文本元素
- THEN 通过检查text_frame属性来判断是否是文本框