吃饭、睡觉、呼吸单元测试/TDD/BDD

29

我在编写API和核心功能时会编写单元测试。但我想成为一个粉丝,热爱TDD和BDD。那么正确开始学习TDD/BDD的最佳方法是什么?有没有书籍、资源、框架和最佳实践?

我的环境是Java后端与Grails前端集成,同时集成了多个外部Web服务和数据库。


2
测试网页很困难。你不可避免地需要测试视图代码,而许多人试图通过在原始HTML中测试字符串的存在来做到这一点。这只会弄乱代码。更好的方法是使用类似Selenium的集成测试来主要测试视图代码。 - Bob Aman
12个回答

1
从耐克的广告语中引用一句话:JUST DO IT。
第二个建议是,永远不要依赖于别人的接口。始终按照你希望存在的接口编写每个类的级别,并根据需要编写适配器以实现实际实现。
此外,我发现避免在方法中返回值并将代码视为消息传递而不是函数调用非常有用。
你的情况可能会有所不同。

1

我认为没有人真正表达过TDD不是关于测试的。TDD的核心在于在进行微小的行为修改之前表达预期的行为。这极大地改善了设计,并使我以前从未有过的专注。您可以获得保护未来重构和免费覆盖率达到90%的测试。

要学习它,我建议(总结其他人的建议并添加我的建议):

  1. 访问上面提到的博客并阅读相关书籍
  2. 与精通TDD的人合作
  3. 练习

在开始看到曙光之前,我独自练习了约20次(每次约30分钟)的保龄球kata(练习)。首先分析Uncle Bob对其的描述here。 codingdojo.org网站上有许多kata,包括解决方案和讨论。试试吧!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接