fix: 批量匹配跳过画像待补录教师 + render-html 按行重建 + 金标准 fixtures 业务化(P0+P1)
- run_match 新增 skip_incomplete:批量缺省跳过画像不完整教师并记录 skipped,指定单教师仍 PROFILE_INCOMPLETE;汇总页出"画像待补录"行 - render-html 补 --report-id 行上下文(inputMapping $row.$pk),CLI 容错解析回退最近 10 份 - report_service 日志改容错 _log(),修复未 setup 时单跑测试崩溃的顺序依赖 - fixtures 替换为教师画像/赛道/期望结论金标准样例,新增 sample_tracks.json - 新增 4 个批量跳过用例(314 项,除 3 个已知 jsonschema 环境失败外全绿) - tests/README 增补本机无共享 runtime 的测试方式;TUTORIAL/ACTIONS.md 同步表述
This commit is contained in:
5
tests/fixtures/README.md
vendored
5
tests/fixtures/README.md
vendored
@@ -12,8 +12,9 @@
|
||||
|
||||
| 文件 | 用途 |
|
||||
|------|------|
|
||||
| `sample_request.json` | 通用请求体样例,供 ``tests/samples/test_golden_cases.py.sample`` 演示读取。 |
|
||||
| `expected_response.json` | 与上配套的期望摘要字段(业务复制后按域替换)。 |
|
||||
| `sample_request.json` | 教师画像金标准样例(脱敏,JSON 数组),可直接 `import-teachers --teachers-json` 消费;供 `tests/samples/test_golden_cases.py.sample` 演示读取。 |
|
||||
| `sample_tracks.json` | 指南赛道金标准样例(脱敏,JSON 数组),可直接 `import-tracks --tracks-json` 消费;与上配套覆盖 H1/H2/S1~S3/T1 场景。 |
|
||||
| `expected_response.json` | 与上两份配套的期望匹配结论(Top 赛道/分层/得分/剔除项,业务复制后按域替换)。 |
|
||||
| `adapter_profiles.sample.yaml` | 五类运行方式(mock / simulator_api / simulator_rpa / real_api / real_rpa)的配置表达样例。 |
|
||||
|
||||
---
|
||||
|
||||
24
tests/fixtures/expected_response.json
vendored
24
tests/fixtures/expected_response.json
vendored
@@ -1,6 +1,22 @@
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"status": "ok"
|
||||
}
|
||||
"season": "2027",
|
||||
"teacher_count": 2,
|
||||
"track_count": 3,
|
||||
"expectations": [
|
||||
{
|
||||
"teacherName": "张教授",
|
||||
"topTrack": "面上项目·光伏材料",
|
||||
"tier": "强烈推荐",
|
||||
"matchPct": 100,
|
||||
"reasonsContains": ["命中需求标签", "优先资助方向命中"]
|
||||
},
|
||||
{
|
||||
"teacherName": "王讲师",
|
||||
"topTrack": "青年项目·农村经济",
|
||||
"tier": "可尝试",
|
||||
"matchPct": 70,
|
||||
"excludedContains": ["面上项目·光伏材料", "重点项目·量子计算"]
|
||||
}
|
||||
],
|
||||
"disclaimerContains": "仅供参考"
|
||||
}
|
||||
|
||||
31
tests/fixtures/sample_request.json
vendored
31
tests/fixtures/sample_request.json
vendored
@@ -1,11 +1,22 @@
|
||||
{
|
||||
"request_id": "req_test_001",
|
||||
"tenant_id": "tenant_demo",
|
||||
"actor": "tester",
|
||||
"parameters": {
|
||||
"input_text": "demo input",
|
||||
"options": {
|
||||
"dry_run": true
|
||||
}
|
||||
[
|
||||
{
|
||||
"teacherName": "张教授",
|
||||
"department": "化材学院",
|
||||
"title": "教授",
|
||||
"researchTags": "钙钛矿,光伏,半导体,界面调控,稳定性",
|
||||
"recentPapers": "钙钛矿电池界面钝化研究",
|
||||
"projectHistory": "主持省自然科学基金",
|
||||
"sciQ1Count": 3,
|
||||
"corePaperCount": 8
|
||||
},
|
||||
{
|
||||
"teacherName": "王讲师",
|
||||
"department": "经管学院",
|
||||
"title": "讲师",
|
||||
"researchTags": "乡村振兴,农村经济",
|
||||
"recentPapers": "县域乡村产业发展研究",
|
||||
"projectHistory": "参与市社科基金",
|
||||
"sciQ1Count": 0,
|
||||
"corePaperCount": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
38
tests/fixtures/sample_tracks.json
vendored
Normal file
38
tests/fixtures/sample_tracks.json
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
[
|
||||
{
|
||||
"year": 2027,
|
||||
"agency": "数理学部",
|
||||
"programName": "面上项目",
|
||||
"trackName": "光伏材料",
|
||||
"trackTags": "钙钛矿,光伏,半导体",
|
||||
"priorityKeywords": "界面调控,稳定性",
|
||||
"minTitle": "副高及以上",
|
||||
"minSciQ1": 0,
|
||||
"quota": 10,
|
||||
"sourceDoc": "2027年度申报指南(样例)"
|
||||
},
|
||||
{
|
||||
"year": 2027,
|
||||
"agency": "管理学部",
|
||||
"programName": "青年项目",
|
||||
"trackName": "农村经济",
|
||||
"trackTags": "乡村振兴,农村经济",
|
||||
"priorityKeywords": "数字经济",
|
||||
"minTitle": "",
|
||||
"minSciQ1": 0,
|
||||
"quota": 8,
|
||||
"sourceDoc": "2027年度申报指南(样例)"
|
||||
},
|
||||
{
|
||||
"year": 2027,
|
||||
"agency": "信息学部",
|
||||
"programName": "重点项目",
|
||||
"trackName": "量子计算",
|
||||
"trackTags": "量子计算,量子信息",
|
||||
"priorityKeywords": "",
|
||||
"minTitle": "正高及以上",
|
||||
"minSciQ1": 5,
|
||||
"quota": 3,
|
||||
"sourceDoc": "2027年度申报指南(样例)"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user