验证完整性审查模块(completeness_reviewer.py)是否正确统计分类结果,
确保不会出现"分类结果中存在,但被误报为缺失"的情况。
temp/construction_review/final_result/67d45692fb97aeef8f896e78475ce539-1773153034.json| 测试用例 | 说明 | 关键验证点 |
|---|---|---|
test_data_file_exists |
测试数据文件存在性检查 | 数据文件可访问 |
test_standard_csv_exists |
标准CSV文件存在性检查 | 标准分类表可访问 |
test_extract_actual_categories |
测试分类提取功能 | 正确提取实际存在的分类 |
test_no_false_positives_for_existing_categories |
关键测试:确保存在的分类不会被误报为缺失 | 无分类误报 |
test_check_result_structure |
测试结果结构正确性 | 返回结果符合预期结构 |
test_secondary_stats_accuracy |
测试二级分类统计准确性 | 统计数据一致 |
test_category_code_consistency |
测试分类代码一致性 | 检查大小写问题 |
test_chunks_with_invalid_categories |
测试无效分类的处理 | 正确处理无效分类 |
test_completeness_accuracy_report |
完整性审查准确性测试报告 | 输出详细统计信息 |
python -m pytest utils_test/Completeness_Test/test_completeness_accuracy.py -v
python -m pytest utils_test/Completeness_Test/test_completeness_accuracy.py::TestCompletenessAccuracy::test_no_false_positives_for_existing_categories -v -s
python -m pytest utils_test/Completeness_Test/test_completeness_accuracy.py::TestCompletenessAccuracy::test_completeness_accuracy_report -v -s
基于测试数据,各章节的完整性统计如下:
| 章节 | 块数 | 存在分类 | 标准分类 | 缺失 | 完整率 |
|---|---|---|---|---|---|
| basis | 5 | 5 | 16 | 11 | 31.2% |
| overview | 7 | 6 | 16 | 10 | 37.5% |
| plan | 5 | 5 | 11 | 6 | 45.5% |
| technology | 16 | 7 | 28 | 21 | 25.0% |
| safety | 12 | 4 | 20 | 16 | 20.0% |
| quality | 4 | 3 | 15 | 12 | 20.0% |
| environment | 3 | 3 | 10 | 7 | 30.0% |
| management | 4 | 0 | 0 | 0 | 0.0% |
| acceptance | 5 | 5 | 24 | 19 | 20.8% |
| other | 4 | 2 | 21 | 19 | 9.5% |
# 获取实际存在的分类
actual_tertiary = {...}
# 获取检查器报告的缺失项
reported_missing = {...}
# 计算交集(误报)
false_positives = reported_missing & actual_tertiary
# 验证无交集
assert len(false_positives) == 0, f"存在 {len(false_positives)} 个误报"
# 从 chunks 中提取三级分类
cat1 = chunk.get("chapter_classification")
cat2 = chunk.get("secondary_category_code")
cat3 = chunk.get("tertiary_category_code")
# 排除无效值
if cat3 and cat3 not in ["", "none", "non_standard"]:
actual.add((cat1, cat2, cat3))
temp/construction_review/final_result/ 目录下的JSON文件core/construction_review/component/doc_worker/config/StandardCategoryTable.csv