A

laravel-tdd

作者 affaan-m

laravel-tdd 是一份面向 Laravel 的测试驱动开发指南,覆盖 PHPUnit 和 Pest。它帮助你选择单元测试、功能测试和集成测试,制定数据库策略,使用 fake,并设定覆盖率目标,形成一套实用的测试自动化工作流。

Stars156.2k
收藏0
评论0
收录时间2026年4月15日
分类测试自动化
安装命令
npx skills add affaan-m/everything-claude-code --skill laravel-tdd
编辑评分

该技能得分 84/100,因为它提供了真正可落地的 Laravel TDD 工作流,触发场景清晰,测试层级指引明确,还给出了具体的数据库测试建议。对目录用户来说,如果你想要一个面向 Laravel 工作的偏意见型测试助手,它值得安装;但它更偏工作流指导,而不是工具集成,也缺少额外的支持文件。

84/100
亮点
  • 使用场景清晰:新功能、Bug 修复、重构以及 Laravel 测试任务都被明确点出。
  • 工作流程很具体:红-绿-重构循环、测试层级选择和数据库策略建议都能减少试错。
  • 对 Laravel 的覆盖面很强:涵盖 PHPUnit/Pest、factory、数据库测试、fake、覆盖率目标,以及 model、policy、job、notification 等常见 Laravel 对象。
注意点
  • 未包含脚本、参考资料或配套资源,因此执行完全依赖 `SKILL.md` 中的说明。
  • 仓库带有实验性/测试信号,用户应先确认是否匹配需求,不要预期它是成熟的生产级包。
概览

laravel-tdd 技能概览

laravel-tdd 技能是一份实用的 Laravel 测试驱动开发指南,帮助你先写测试,再用 PHPUnit 或 Pest 实现代码。它特别适合希望为新功能、缺陷修复、重构和 Laravel 测试自动化建立一套可复用流程的开发者,而不是每次都临时决定测试策略。

laravel-tdd 真正有价值的地方,在于它聚焦那些最容易拖慢团队进度的决策:该选哪一层测试、什么时候需要刷新数据库、如何处理 fake、以及怎样把覆盖率目标设定得现实可行。相比笼统的“写测试”提示,laravel-tdd skill 更能直接落地。

Laravel 测试自动化的最佳适用场景

当你需要为跨越 HTTP、认证、校验、Eloquent、job、notification 或队列的 Laravel 代码建立测试自动化时,使用 laravel-tdd 很合适。如果你的项目本来就重视快速反馈循环,并且希望这个技能帮你保持 red-green-refactor 的纪律性,它会非常有用。

它能帮你更快做出哪些判断

laravel-tdd 技能的核心价值并不在抽象的 TDD 理论,而在于帮你快速判断:

  • 一个改动应该从单元测试、功能测试还是集成测试开始
  • 对这个仓库来说,Pest 还是 PHPUnit 更适合作为默认选择
  • 这项测试到底需要多少数据库准备
  • 什么时候 fake 就够了,什么时候应该真正跑一遍边界交互

什么时候它可能不是最佳选择

如果你只是想要一个一次性的代码示例,直接用更泛的 Laravel 提示词可能更省事。laravel-tdd 技能最有价值的场景,是输出必须符合真实可运行的测试流程,并且你在意可维护性、覆盖率以及多轮迭代时的一致结构。

如何使用 laravel-tdd 技能

在 Claude Code 环境中安装这个技能

使用以下命令安装 laravel-tdd
npx skills add affaan-m/everything-claude-code --skill laravel-tdd

这就是大多数用户需要的 laravel-tdd install 步骤。安装完成后,在 Laravel 仓库里调用它,让模型可以检查现有测试、测试配置以及正在修改的代码。

给这个技能合适的任务形状

最好的 laravel-tdd usage 不是模糊的“帮我实现一下”,而是明确的行为需求。好的输入应该说明:

  • 功能或 bug 是什么
  • 期望的用户可见行为是什么
  • 相关的模型、路由、控制器、job 或通知有哪些
  • 仓库里已经在使用哪种测试框架偏好

更强的提示词示例:
“使用 laravel-tdd 添加通过邮件链接进行无密码登录。优先沿用现有测试风格,先写会失败的功能测试,再实现最少必要代码。适当使用 fake,并保持测试符合当前 Laravel 约定。”

先读最有用的文件

对于这份 laravel-tdd guide,先从 SKILL.md 开始,再视情况浏览仓库里配套的文档。在这个仓库里,SKILL.md 是主要事实来源,最相关的章节是:

  • When to Use
  • How It Works
  • Red-Green-Refactor Cycle
  • Test Layers
  • 数据库策略说明

如果你的项目本身已经有 Laravel 约定,写测试之前先把这些约定和技能内容对照一下,避免和本地测试风格硬碰硬。

使用符合技能意图的工作流

一个好的 laravel-tdd 工作流是:

  1. 用一句话定义行为
  2. 选择能证明该行为的测试层级
  3. 先写会失败的测试
  4. 实现通过测试所需的最少代码
  5. 只有在测试变绿之后才做重构

当你要求模型遵循这个顺序时,可以减少凭空编造的实现细节,也更容易把输出直接用到真实的 Laravel 代码库里。

laravel-tdd 技能常见问题

laravel-tdd 只适合 PHPUnit 用户吗?

不是。这个技能同时支持 PHPUnit 和 Pest;如果项目还没有统一测试风格,新的测试通常优先用 Pest。若你的仓库里两种风格混用,最好明确告诉模型要对齐哪一种,避免引入不一致。

在使用它之前需要先有很大的测试套件吗?

不需要。laravel-tdd 技能即使在小项目里也很有用,因为它能帮助你为每一次改动选择正确的测试层级。尤其当你希望前几个测试先建立一个团队可以沿用的模式时,它会很有帮助。

它和普通 Laravel 提示词有什么区别?

普通提示词可能会生成一次能跑通、但忽略测试结构的代码。laravel-tdd 技能把测试优先流程、测试层级选择和数据库策略放在核心位置,因此更适合 Test Automation,也更可能贴合真实的 Laravel 项目。

什么情况下应该跳过这个技能?

如果你不是在测试 Laravel 行为,如果你需要一个不讲测试纪律的快速原型,或者你的应用内部有一套严格的测试框架并且与该技能的 PHPUnit/Pest 假设冲突,就可以跳过它。

如何改进 laravel-tdd 技能

提供行为目标,而不只是实现目标

laravel-tdd 最强的结果来自行为规格。不要只说“做一个通知系统”,而要说“当发票逾期时发送邮件通知,并用功能测试验证”。这样能给技能一个可测试的目标,也能减少来回沟通。

先说明边界和测试风格

提前告诉模型要测什么、怎么测。比如:

  • “HTTP 端点用功能测试,定价规则用单元测试。”
  • “因为测试会碰到 Eloquent 和 policy,所以用 RefreshDatabase。”
  • “如果现有套件是 PHPUnit,就继续用 PHPUnit;否则优先 Pest。”

这些细节能帮助 laravel-tdd skill 避免错误默认值,并输出更符合你仓库的结果。

留意两种常见失败模式

最常见的问题有两个:过度测试实现细节,以及选错测试层级。若第一次输出过于底层,就要求改成以行为为中心的重写;如果测试搭建显得太重,就要求模型尽量减少 fixture、优先使用 factory,并在可行时简化数据库准备。

用失败测试回顾来迭代

拿到第一版输出后,先检查测试在代码修改前是否真的会因为正确原因失败。如果不会,就要求更严格的断言、更干净的 fixture,或者更窄的作用范围。这是改进 laravel-tdd 在真实项目中 Test Automation 输出的最快方式。

评分与评论

暂无评分
分享你的评价
登录后即可为这个技能评分并发表评论。
G
0/10000
最新评论
保存中...