fix: 优化配置、修复测试和 temp_pdf 中文字体支持

- 优化 config.py,为所有依赖添加版本号,为所有文件类型添加 Darwin-x86_64 配置
- 修改 run_tests.py,添加平台相关 TEST_FIXTURE_DEPENDENCIES,简化 cli 和 all 测试逻辑
- 修复 tests/conftest.py 中 temp_pdf 的中文字体支持,使用 macOS 系统字体
- 更新 tests/test_core/test_advice_generator.py 以适应 Python 3.12 的默认配置
- 更新 openspec 相关规格文档
This commit is contained in:
2026-03-17 10:50:48 +08:00
parent 675235f5b3
commit 89ffc88082
8 changed files with 309 additions and 124 deletions

View File

@@ -6,6 +6,23 @@
## Requirements
### Requirement: 测试运行器包含 fixtures 依赖
run_tests.py 必须定义 TEST_FIXTURE_DEPENDENCIES 常量,包含创建临时测试文件所需的所有依赖。
#### Scenario: TEST_FIXTURE_DEPENDENCIES 定义存在
- **WHEN** 查看 run_tests.py
- **THEN** 存在 TEST_FIXTURE_DEPENDENCIES 常量
- **AND** 包含 python-docx用于创建临时 DOCX
- **AND** 包含 reportlab用于创建临时 PDF
- **AND** 包含 pandas用于创建临时 XLSX
- **AND** 包含 openpyxlpandas 写 XLSX 需要)
- **AND** 包含 python-pptx用于创建临时 PPTX
#### Scenario: fixtures 依赖与文件类型依赖合并
- **WHEN** 运行任何类型的测试
- **THEN** TEST_FIXTURE_DEPENDENCIES 中的依赖自动合并到 uv run --with 参数中
- **AND** 去重处理,避免重复添加
### Requirement: 临时文件自动清理
测试使用的临时文件 MUST 在测试完成后自动清理,使用 pytest 的 tmp_path fixture。