SuperAPI AI 工具集

tdd-workflows-tdd-green

编程与开发

查看项目

更新于 10-15 15:06

技能介绍

用途

该技能用于测试驱动开发(TDD)流程中的绿灯(green)阶段:在已有失败测试的前提下,编写刚好足以让这些测试通过的最小实现代码。它帮助开发者从“红灯”平滑进入“绿灯”,保持实现刻意简单。

主要能力

  • 审视失败测试,识别最小的修复点。
  • 实现最小改动,使下一个测试通过。
  • 每次修改后运行测试,确认进展。
  • 记录为实现通过而采用的捷径或技术债,供后续重构阶段处理。

使用方式

资料给出两类语言的演进示例,展示从绿灯实现到重构的路径:

Django:

简单函数阶段:

def product_list(request): products = Product.objects.all() return JsonResponse({'products': list(products.values())})

重构为类视图:

class ProductListView(View): def get(self, request): products = Product.objects.all() return JsonResponse({'products': list(products.values())})

重构为通用视图:

class ProductListView(ListView): model = Product context_object_name = 'products'

Express:内联 → 中间件 → 服务层:

绿灯阶段的内联逻辑:

app.post('/api/users', (req, res) => { const user = { id: Date.now(), ...req.body }; users.push(user); res.json(user); });

重构:抽取中间件:

app.post('/api/users', validateUser, (req, res) => { const user = userService.create(req.body); res.json(user); });

重构:完整分层:

app.post('/api/users', validateUser, asyncHandler(userController.create) );

详细模式与示例见 resources/implementation-playbook.md。

适用场景

  • 在 TDD 循环中从红灯进入绿灯。
  • 实现满足测试的最小行为。
  • 希望保持实现刻意简单。

不适用场景

  • 为设计或性能而重构。
  • 测试已通过,需要新增需求。
  • 需要完整的架构重设计。

安全与限制

  • 避免绕过测试来让它们通过。
  • 改动范围限定在失败的行为内。
  • 仅在任务明确符合上述范围时使用本技能。
  • 输出不能替代针对具体环境的验证、测试或专家评审。
  • 若缺少必要输入、权限、安全边界或成功标准,应停下并请求澄清。