测试驱动开发 译 TDD的5个步骤( 二 )


测试现在将通过(绿色?。?。代码现在显然只是临时的,但你可以得到基本的理解 。测试已正确连接到生产代码中的某个点 。从那里你可以实现实际的业务逻辑,例如,读取文件/db/调用外部 API
决定何时编写单元测试一般来说 , 编写单元测试有两种情况:
案例 A:你为代表简明故事的请求编写单元测试 。例如,请求可能是计算特定货币兑换所支持的国家/地区数量 。我做的第一件事是编写一个单元测试并看到它失败 。然后,我迭代地更改代码,直到单元测试通过 。
案例 B:生产中发现的一段错误代码 。此错误触发的问题需要实施修复/补丁 。回到货币兑换示例,代码运行时 , 用户期望在许多国家/地区使用 $USD,但该行为是错误的,目前只有一个国家/地区返回 。我做的第一件事是编写一个单元测试并看到它失败 。然后,更正我的实现代码,直到测试通过 。这不仅修复了代码并消除了错误,而且还为我提供了一个可以重复使用的单元测试,以确保这段代码保持完整 。
总结大多数程序员不使用测试驱动开发来编写代码 , 但他们应该这样做 。测试驱动的开发可以创建更好的容错性代码 。希望你从这篇博文中了解 TDD 的理念,并将其融入你的软件开发实践中 。
下一步请继续关注有关如何在 Node.js、Java 和 Python 中进行测试驱动开发的新博客文章 。
资源非常有帮助的书与文章Using Test-Driven Development for Microservices, Bill DoerrfeldTest-driven Java development: Invoke TDD principles for end-to-end application developmnet, 2nd Edition by Farcic, ViktorUnit testing principles, practices, and patterns, Vladimir Khorikov
【测试驱动开发 译 TDD的5个步骤】

推荐阅读