feat: 添加 doc/xls/ppt 旧格式文档静态测试文件支持
- 更新 .gitattributes,将 fixtures 目录所有文件纳入 Git LFS - 在 tests/test_readers/conftest.py 中添加静态文件 fixtures - 添加 doc/xls/ppt 静态测试文件(9个文件) - 更新各旧格式解析器测试用例使用静态文件 - 更新一致性测试使用静态文件 - 在 README.md 中添加 fixtures 使用规范 - 同步 delta specs 到主 specs(doc-reader/xls-reader/ppt-reader/reader-testing/test-fixtures) - 归档 add-static-test-fixtures 变更
This commit is contained in:
@@ -117,3 +117,60 @@ Reader MUST 正确处理包含特殊字符的内容。
|
||||
#### Scenario: 每个 PDF Reader 有独立测试
|
||||
- **WHEN** 查看 test_readers/test_pdf/ 目录
|
||||
- **THEN** 存在 test_pypdf.py、test_markitdown.py、test_docling.py 等独立文件
|
||||
|
||||
### Requirement: 旧格式文档测试覆盖
|
||||
doc/xls/ppt 旧格式文档 MUST 有与新格式(docx/xlsx/pptx)一致的测试覆盖。
|
||||
|
||||
#### Scenario: doc 有一致性测试
|
||||
- **WHEN** 查看 `tests/test_readers/test_doc/`
|
||||
- **THEN** 存在 `test_consistency.py` 测试所有 DOC Readers 解析结果一致性
|
||||
|
||||
#### Scenario: xls 有一致性测试
|
||||
- **WHEN** 查看 `tests/test_readers/test_xls/`
|
||||
- **THEN** 存在 `test_consistency.py` 测试所有 XLS Readers 解析结果一致性
|
||||
|
||||
#### Scenario: ppt 有一致性测试
|
||||
- **WHEN** 查看 `tests/test_readers/test_ppt/`
|
||||
- **THEN** 存在 `test_consistency.py` 测试所有 PPT Readers 解析结果一致性
|
||||
|
||||
#### Scenario: doc 各解析器独立测试
|
||||
- **WHEN** 查看 `tests/test_readers/test_doc/`
|
||||
- **THEN** 每个解析器有独立测试文件(如 `test_markitdown_doc.py`、`test_pypandoc_doc.py`)
|
||||
|
||||
#### Scenario: xls 各解析器独立测试
|
||||
- **WHEN** 查看 `tests/test_readers/test_xls/`
|
||||
- **THEN** 每个解析器有独立测试文件(如 `test_markitdown_xls.py`、`test_unstructured_xls.py`、`test_pandas_xls.py`)
|
||||
|
||||
#### Scenario: ppt 各解析器独立测试
|
||||
- **WHEN** 查看 `tests/test_readers/test_ppt/`
|
||||
- **THEN** 每个解析器有独立测试文件(如 `test_markitdown_ppt.py`)
|
||||
|
||||
### Requirement: 旧格式测试使用静态文件
|
||||
旧格式文档测试 MUST 使用静态测试文件,而非尝试自动化创建。
|
||||
|
||||
#### Scenario: doc 测试使用静态文件
|
||||
- **WHEN** 运行 doc 相关测试
|
||||
- **THEN** 测试从 `tests/test_readers/fixtures/doc/` 读取静态文件
|
||||
|
||||
#### Scenario: xls 测试使用静态文件
|
||||
- **WHEN** 运行 xls 相关测试
|
||||
- **THEN** 测试从 `tests/test_readers/fixtures/xls/` 读取静态文件
|
||||
|
||||
#### Scenario: ppt 测试使用静态文件
|
||||
- **WHEN** 运行 ppt 相关测试
|
||||
- **THEN** 测试从 `tests/test_readers/fixtures/ppt/` 读取静态文件
|
||||
|
||||
### Requirement: 静态文件缺失时优雅跳过
|
||||
当静态测试文件不存在时,测试 MUST 优雅跳过,而非失败。
|
||||
|
||||
#### Scenario: doc 静态文件不存在时跳过
|
||||
- **WHEN** `simple.doc` 不存在
|
||||
- **THEN** 相关测试使用 `pytest.skip()` 跳过
|
||||
|
||||
#### Scenario: xls 静态文件不存在时跳过
|
||||
- **WHEN** `simple.xls` 不存在
|
||||
- **THEN** 相关测试使用 `pytest.skip()` 跳过
|
||||
|
||||
#### Scenario: ppt 静态文件不存在时跳过
|
||||
- **WHEN** `simple.ppt` 不存在
|
||||
- **THEN** 相关测试使用 `pytest.skip()` 跳过
|
||||
|
||||
Reference in New Issue
Block a user