1
0
Files

2.2 KiB
Raw Permalink Blame History

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属性来判断是否是文本框