## ADDED Requirements ### Requirement: Pytest 测试框架配置 项目 SHALL 使用 pytest 作为测试框架,通过 pyproject.toml 配置测试依赖和运行参数。 #### Scenario: 配置测试依赖 - **WHEN** 开发者在 pyproject.toml 中配置测试依赖 - **THEN** 项目包含 pytest、pytest-cov、pytest-mock 等依赖 #### Scenario: 运行测试 - **WHEN** 开发者执行 `uv run pytest` - **THEN** 所有测试被发现并执行 ### Requirement: 共享 Fixtures 测试框架 SHALL 提供 conftest.py 文件,定义所有测试共享的 fixtures。 #### Scenario: 临时目录 fixture - **WHEN** 测试使用 `temp_dir` fixture - **THEN** 系统创建一个临时目录并在测试后自动清理 #### Scenario: 测试 YAML 文件 fixture - **WHEN** 测试使用 `sample_yaml` fixture - **THEN** 系统创建一个包含最小可用内容的测试 YAML 文件 #### Scenario: 测试图片 fixture - **WHEN** 测试使用 `sample_image` fixture - **THEN** 系统创建一个测试用图片文件 #### Scenario: 测试模板 fixture - **WHEN** 测试使用 `sample_template` fixture - **THEN** 系统创建包含测试模板的目录 ### Requirement: 临时文件管理 测试生成的临时 PPTX 文件 SHALL 存放在系统临时目录,测试后自动清理。 #### Scenario: 临时 PPTX 输出目录 - **WHEN** 测试生成 PPTX 文件 - **THEN** 文件存放在系统临时目录的 yaml2pptx_tests 子目录下 #### Scenario: 自动清理 - **WHEN** 测试运行完成 - **THEN** 所有生成的 test_*.pptx 文件被删除