--- name: unit-testing description: 为 BK-CI 代码编写单元测试时使用,例如 JUnit5、MockK、测试组织、依赖 Mock、异常校验和 TDD 场景。当用户要补测试或用测试驱动实现时优先使用。 --- # 单元测试 ## 适用场景 - 编写 Service / DAO / 工具类单元测试 - Mock 外部依赖和边界条件 - 验证正常路径、异常路径和回归场景 - 采用 TDD 或补测试防回归 ## 不适用场景 - 集成测试、端到端测试 - 只是实现业务逻辑,不准备补测试 - 只是排查运行环境问题 ## 快速指导 1. 这个 skill 关注的是 BK-CI 项目里的单元测试写法,不是测试理论总览。 2. 测试先保证意图清晰,再考虑覆盖率;重点是关键分支和回归风险。 3. 常见模式仍然是 AAA、Mock 外部依赖、显式断言结果和交互。 4. 写测试前先确认你测的是业务规则,不是把实现细节机械复述一遍。 5. 如果测试涉及后端接口或服务结构,再联动看 `backend-microservice-development`。 ## 高信号规则 - 正常路径和失败路径都要有代表性覆盖 - Mock 应该服务于隔离边界,而不是掩盖设计问题 - 测试命名要能直接表达行为和预期 ## 关键陷阱 - 只测 happy path - Mock 过度,导致测试几乎失去行为价值 - 断言太弱,只证明代码跑过,没有证明结果正确 ## 延伸阅读 - 如果你在改后端服务:再看 `backend-microservice-development`