强制TDD流程的CLI工具
TDD.sh 是一个围绕测试驱动开发实践设计的简单 CLI 工具,理念来自 Kent Beck 的《Test Driven Development: By Example》。它不是某个语言的测试框架,而是把“运行测试、观察红绿状态、提交代码、记录旁支想法”串成一个更一致的开发工作流。
其主要价值在于降低 TDD 的认知负担。开发者在项目根目录维护 .tdd.yaml,为不同测试命令配置别名,例如 PHP 的 phpspec 或 Go 的 go test。之后通过 tdd alias 运行测试;若测试为绿,工具会自动将代码提交到 Git,并可配置是否 amend、add 哪些文件。若测试长时间保持红灯,可按别名配置 timer 弹出通知,提醒开发者当前步子可能太大。内置 todo list 则用于记录开发中冒出的旁支任务,帮助保持 red/green/refactor 循环专注。
TDD.sh 跨平台、开源,采用 GPL-3.0 License。它以本地二进制形式安装,只要求 git 在 $PATH 中可访问,工具自身二进制内嵌所需内容。语言和框架支持取决于用户配置的测试命令,因此理论上适合多语言项目。不过当前 command 不支持包含 &&、||、; 的复杂命令,这会限制部分已有脚本迁移。
正文未提及收费模式,按 GPL-3.0 开源工具理解可免费使用。支持渠道主要是 GitHub ticket、Twitter 私信和 email。作者明确说明项目处于 alpha 阶段,可能存在 bug、短板和大量待增强之处,因此不宜按成熟商业开发工具预期其稳定性和服务支持。
优点是目标单一、工作流清晰,尤其适合 TDD 初学者训练小步迭代,也适合高级用户统一不同项目的测试入口。自动提交能减少“哪些文件该进当前 commit”的纠结。缺点是自动提交会改变团队既有 Git 习惯,配置文件需要维护,且 alpha 状态对生产团队有不确定性。
正文未提供站点、GitHub 下载或二进制分发在中国大陆的可访问性,也未涉及支付问题。若 GitHub 访问不稳定,安装和反馈可能受网络影响。替代方案可考虑 Makefile、npm scripts、IDE 测试运行器、Git hooks 或各语言测试框架的 watch/runner。
本测评基于公开资料整理,不构成购买建议,请以 tdd.sh 官网实际信息为准。
开源/轻量开发工具,适合测试驱动实践。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。