为什么优先学测试?
📊 知识完整性分析
┌─────────────────────────────────────────────────────────────────┐
│ 完整 AI 应用开发能力模型 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 开发能力 (你已掌握 80%) │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ✅ Kernel 构建 ✅ 插件开发 ✅ 过滤器 │ │
│ │ ✅ 路由决策 ✅ 流式处理 ✅ Token 统计 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ 质量保障能力 (缺失 70%) ⚠️ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ❌ 单元测试 ❌ Mock 策略 ❌ 语义测试 │ │
│ │ ❌ 集成测试 ❌ CI/CD ❌ 覆盖率监控 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ 进阶能力 (待学习) │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ⏳ Planner ⏳ Qdrant ⏳ 多智能体协作 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
💡 理由
| 理由 | 说明 |
| 1. 生产环境必需 |
没有测试的代码不敢上线,尤其是 AI 应用 |
| 2. 巩固现有知识 |
写测试过程会重新理解 Kernel、插件、过滤器 |
| 3. 专栏缺失 |
作者没写测试相关文章,需要补充 |
| 4. 后续学习基础 |
学 Planner/Qdrant 时也需要测试验证 |
| 5. 职业竞争力 |
会写 AI 应用 + 会写测试 = 企业级开发者 |
测试模式学习大纲
📖 第 1 天:单元测试基础
主题:Semantic Kernel 单元测试入门
├─ 1.1 xUnit + Moq 环境搭建
├─ 1.2 Mock IChatCompletionService
├─ 1.3 测试插件函数(ChatPlugin/TranslatePlugin)
├─ 1.4 验证 Kernel.Data 传递
└─ 实践:为 ChatPlugin 写 3 个测试用例
📖 第 2 天:过滤器测试
主题:测试过滤器链
├─ 2.1 Mock FunctionInvocationContext
├─ 2.2 测试 AuthenticationFilter(认证逻辑)
├─ 2.3 测试 RouterFilter(路由决策)
├─ 2.4 测试 LoggingFilter(日志记录)
└─ 实践:验证 user_tier=enterprise → qwen-max
📖 第 3 天:集成测试
主题:完整流程集成测试
├─ 3.1 构建测试用 Kernel
├─ 3.2 模拟完整请求流程
├─ 3.3 验证认证→路由→执行→日志
├─ 3.4 测试异常场景(无 Token/权限不足)
└─ 实践:写一个端到端测试
📖 第 4 天:语义测试(skUnit)
主题:用 AI 测试 AI
├─ 4.1 skUnit 框架介绍
├─ 4.2 Markdown 场景文件编写
├─ 4.3 语义断言(SemanticCondition)
├─ 4.4 测试非确定性输出(摘要/翻译)
└─ 实践:为 TranslatePlugin 写语义测试
📖 第 5 天:CI/CD 集成
主题:自动化测试流水线
├─ 5.1 GitHub Actions 配置
├─ 5.2 测试覆盖率报告
├─ 5.3 质量门禁设置
└─ 实践:配置自动测试 + 覆盖率 > 80%
学习资源推荐
最终建议
┌─────────────────────────────────────────────────────────────────┐
│ 🎯 现阶段行动建议 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 立即开始:测试模式学习(优先级:🔥🔥🔥🔥🔥) │
│ │
│ 原因: │
│ 1. 你已掌握开发能力,缺质量保障能力 │
│ 2. 测试能帮你巩固现有知识 │
│ 3. 企业级项目必须有测试 │
│ 4. 后续学 Planner/Qdrant 也需要测试验证 │
│ │
│ 学习顺序: │
│ 单元测试 → 过滤器测试 → 集成测试 → 语义测试 → CI/CD │
│ │
│ 预期收获: │
│ ✅ 能写完整的测试用例 │
│ ✅ 能 Mock 外部依赖 │
│ ✅ 能验证语义正确性 │
│ ✅ 代码质量提升 10 倍 │
│ │
│ 完成后: │
│ → 学习 Planner(任务规划) │
│ → 学习 Qdrant(向量检索) │
│ → 学习多智能体协作 │
│ │
└─────────────────────────────────────────────────────────────────┘