我读了一些关于TDD的书籍和网站,他们都很有意义,特别是肯特·贝克(Kent Beck)的书.但是,当我自己尝试做TDD时,我发现自己盯着键盘想知道如何开始.你有使用过程吗?你的思想过程是什么?你如何识别你的第一个测试?
关于这个问题的大多数书籍都很好地描述了TDD是什么,而不是如何在现实世界的非平凡应用中实践TDD.你怎么做TDD?
我以前有同样的问题.我曾经通过启动一个窗口设计器来创建UI,以开始我最想要实现的第一个功能.由于UI是测试这种工作方式最难的事情之一,并不能很好地转化为TDD.
我发现在Presenter First上的原子对象论文很有帮助.我仍然从设想想要实现的用户操作(如果你有一个很好的方法开始),并使用MVP或MVC-ish模型,我首先为第一个屏幕的演示者编写一个测试.通过嘲笑视图,直到演示者的作品,我可以很快开始这样做. http://www.atomicobject.com/pages/Presenter+First这里有更多关于这种工作的信息.
如果您正在以一种未知的语言或框架开始一个项目,或者有许多未知数,那么您可以先从一个尖峰开始.我经常为我的峰值编写单元测试,但只能运行我正在加注的代码.做穗可以给你一些关于如何开始你的实际项目的投入.当您开始实际的项目时,不要忘记扔掉你的穗