lpxxn-blink-06-testing-instructions.ocm.json json Copy{
"ocm": "1",
"id": "lpxxn-blink-06-testing-instructions",
"kind": "skill",
"name": "06-testing",
"description": "1. 领域规则 2. 易出错的状态变更 3. 鉴权和权限判断 4. 持久化读写一致性 5. API 合约",
"publisher": "lpxxn",
"version": "1.0.0",
"capabilities": {
"domains": [
"coding"
],
"tags": [
"skill-md",
"github-instructions"
],
"languages": [
"en"
]
},
"quality_prior": 0.6,
"examples": [
"1. 领域规则 2. 易出错的状态变更 3. 鉴权和权限判断 4. 持久化读写一致性 5. API 合约"
],
"primary": false,
"metadata": {
"source": {
"provider": "github-instructions",
"repository": "https://github.com/lpxxn/blink",
"path": ".github/instructions/06-testing.instructions.md",
"ref": "5e56ed8ae69dd8ce59b68c857bc9817323a70a18",
"url": "https://github.com/lpxxn/blink/blob/5e56ed8ae69dd8ce59b68c857bc9817323a70a18/.github/instructions/06-testing.instructions.md",
"key": "lpxxn/blink/.github/instructions/06-testing.instructions.md"
},
"applies_to": "**/*_test.go"
},
"instructions": "# 测试策略\n\n## 测试分层\n\n- 领域层单元测试:验证核心业务规则。\n- 应用层测试:验证用例编排、事务、权限、仓储交互。\n- 基础设施集成测试:验证数据库、HTTP、gRPC、外部服务适配。\n- 端到端测试:覆盖关键用户路径。\n\n## 测试优先级\n\n1. 领域规则\n2. 易出错的状态变更\n3. 鉴权和权限判断\n4. 持久化读写一致性\n5. API 合约\n\n## 编写原则\n\n- 每个测试应只验证一个明确行为。\n- 测试名应体现业务语义。\n- 避免只测\"调用成功\",要验证输出、状态和副作用。\n- 不依赖不稳定时间、随机数、网络或共享环境。\n\n## 推荐测试策略\n\n- 单元测试应尽量不依赖 Docker,优先使用内存替身、fake repository、test helper。\n- 数据库、缓存、消息队列等真实依赖的验证应归入集成测试。\n- 集成测试可使用 Docker / Testcontainers / docker compose 提供隔离环境。\n- 不要把依赖 Docker 的测试也叫\"单元测试\"。\n\n## Mock 与替身\n\n- 优先测试真实领域逻辑。\n- 仅在隔离外部依赖时使用 mock / fake / stub。\n- 不要因为过度 mock 而把测试写成实现细节快照。\n\n## 集成测试建议\n\n- 数据库相关逻辑至少应有集成测试。\n- API 层应验证请求绑定、状态码",
"cost": {
"context_tokens": 196
}
}