精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-14
这两天翻了下 Kent Beck 的 Test-Driven Development By Example 感觉还不错,第一部分的例子讲的挺好,本来想归纳一下,貌似太长了,等有时间了再归纳下,最后看到了附录里面的一个Fibonacci数列的例子感觉也有那么点TDD的味道在里面,总结分享一下: 让我们从最简单的fibonacci(0)=0开始吧,先写测试如下: java 代码
添加fibonacci方法的简单实现即可: java 代码
很显然顺利通过了测试; 再加一个测试实现fibonacci(1)=1;如下: java 代码
为了顺利通过测试,只需简单的改动下fibonacci方法实现即可; java 代码
在添加第三个测试条件fibonacci(2)=1时候发现,随着测试条件的增多无疑带来了大量的断言重复代码,通过分析我们可以将testFibonacci方法改写如下: java 代码
这样我们就可以很容易的添加测试条件:fibonacci(2)=1; java 代码
嘿嘿,很顺利,状态条依然出现的是绿色,那我们就不管代码到底合不合理了,出现绿色就是王道,继续添加下一个测试条件:fibonacci(3)=2; java 代码
终于又出现红色了,it fails .说明我们又将快有新进展了.为了满足fibonacci(3)=2,也很简单,简单的修改下fibonacci方法即可,如下: java 代码
我们可以写成: java 代码
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-12-14
感觉<<Test-Driven Development By Example>>太多繁琐话了一点,不过书很薄,很快可以看完.
我刚开始看TDD的时候是看<<Test_Drivent Development A Practical Guide>>这一本书的中文版,作为入门很好. ps:如果代码是楼主自己写的,会投精华的,哈哈,现在不投 |
|
返回顶楼 | |
发表时间:2006-12-14
理解不到位的地方就多拍块砖哈,最近对TDD产生了浓厚的兴趣,多拍砖进步快
|
|
返回顶楼 | |
发表时间:2006-12-14
lighter 写道 感觉<<Test-Driven Development By Example>>太多繁琐话了一点,不过书很薄,很快可以看完.
我刚开始看TDD的时候是看<<Test_Drivent Development A Practical Guide>>这一本书的中文版,作为入门很好. ps:如果代码是楼主自己写的,会投精华的,哈哈,现在不投 呵呵,确实,讲的不错,一天就看完了英文版,又花了一天翻了下中文版,加深理解 代码全部是自己敲的 呵呵,自己是一边敲代码测试,一边写blog,以免出现失误被拍,呵呵 |
|
返回顶楼 | |
发表时间:2006-12-14
温柔一刀 写道 理解不到位的地方就多拍块砖哈,最近对TDD产生了浓厚的兴趣,多拍砖进步快
最近也对TDD发生很大的兴趣,才看了一些书,不过实践讲TDD的书好像少了一些; 温柔一刀,能不能推荐一本TDD在开发WEB程序时与数据库相交互时实践性的书啊? <<Test_Drivent Development A Practical Guide>>只是讲一下SWING界面交互开发的TDD实践 |
|
返回顶楼 | |
发表时间:2006-12-14
lighter 写道 温柔一刀 写道 理解不到位的地方就多拍块砖哈,最近对TDD产生了浓厚的兴趣,多拍砖进步快
最近也对TDD发生很大的兴趣,才看了一些书,不过实践讲TDD的书好像少了一些; 温柔一刀,能不能推荐一本TDD在开发WEB程序时与数据库相交互时实践性的书啊? <<Test_Drivent Development A Practical Guide>>只是讲一下SWING界面交互开发的TDD实践 我也想看看这方面的书,但是不知道什么书讲了web的,比如用strurs/webwork/springmvc+spring+hibernate之类的框架开发的话怎么实践TDD?不知道有没有团队采用strurs/webwork/springmvc+spring+hibernate开发时用了TDD,能分享下经验就好了 |
|
返回顶楼 | |
发表时间:2006-12-14
我们的开发人员一般拿单元测试逐断查找问题用。javascript的单元测试可能比java的更多。
|
|
返回顶楼 | |
发表时间:2006-12-15
呵呵,不知道楼主有没有看过这个帖子
http://www.iteye.com/topic/6551 有对此更加深刻的讨论,同时此贴也是家爱跑题强贴之一。。。 |
|
返回顶楼 | |
发表时间:2006-12-15
花花公子 写道 我们的开发人员一般拿单元测试逐断查找问题用。javascript的单元测试可能比java的更多。
介绍一下....例子 想找这种东西好久了... |
|
返回顶楼 | |
发表时间:2006-12-15
我觉得拿纯算法型的来举TDD的例子不是很合适,假如有一个数学家来给你需求的话,他很可能不告诉你F(n)=F(n-1)+F(n-2),而是直接告诉你通项公式。
比如F(n)=[(1+√5)/2]^n /√5 - [(1-√5)/2]^n /√5 事实上,我认为这种纯数学函数性质的东西是不适合用测试驱动开发的。因为要确保结果正确,就是把测试断言里面的条件写的和方法本身的条件一样。 |
|
返回顶楼 | |