首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

测试驱动开发漫笔-一个最简单的例子

2012-12-28 
测试驱动开发随笔------一个最简单的例子原文:http://www.cnblogs.com/idior/archive/2005/01/09/89013.ht

测试驱动开发随笔------一个最简单的例子

原文:http://www.cnblogs.com/idior/archive/2005/01/09/89013.html

如果你懒得去看那些很长很长的例子,不妨看看下面这个小例子,这个例子能让你对测试驱动开发有一个直观的了解.?
最起码让你知道测试驱动开发是一种开发技术而不是一项测试的技术?测试驱动开发漫笔-一个最简单的例子?
Fibonacci 数列,呵呵可能有不少人都忘了怎么编的了吧,那正好带你看看tdd的威力测试驱动开发漫笔-一个最简单的例子?

测试驱动开发,那么测试先行是必然的了.?

第一个测试来了

测试驱动开发漫笔-一个最简单的例子public?void?testFibonacci()//不要以为这是junit,nunit也可以这样写,而不是非要用属性哦,不信你试试?
测试驱动开发漫笔-一个最简单的例子{?
测试驱动开发漫笔-一个最简单的例子??AssertEquals(0,Fib(0));?
测试驱动开发漫笔-一个最简单的例子}


Fibonacci 数列的第一个数是0,人人都知吧,好了现在测试代码有了,那么我们先运行一下测试吧.?
失败,报错,可恶的red进度条.?
显然,因为我们还甚至还没有Fib()这个函数呢.?
那么让我们赶紧让这个测试通过吧.?

测试驱动开发漫笔-一个最简单的例子int?Fib(int?n)?
测试驱动开发漫笔-一个最简单的例子{?
测试驱动开发漫笔-一个最简单的例子?return?0;?
测试驱动开发漫笔-一个最简单的例子}



ok!!!? green? 这将是你在tdd中最喜欢看到的颜色(多看绿色对我们的视力也是好事测试驱动开发漫笔-一个最简单的例子)?

第二个测试

测试驱动开发漫笔-一个最简单的例子public?void?testFibonacci()?
测试驱动开发漫笔-一个最简单的例子{?
测试驱动开发漫笔-一个最简单的例子??AssertEquals(0,Fib(0));?
测试驱动开发漫笔-一个最简单的例子??AssertEquals(1,Fib(1));?
测试驱动开发漫笔-一个最简单的例子}?
测试驱动开发漫笔-一个最简单的例子



那我们赶紧让它也通过吧

测试驱动开发漫笔-一个最简单的例子int?Fib(int?n)?
测试驱动开发漫笔-一个最简单的例子{?
测试驱动开发漫笔-一个最简单的例子??if(n==0)?return?0;?
测试驱动开发漫笔-一个最简单的例子??return?1;?
测试驱动开发漫笔-一个最简单的例子}


通过了!

从测试代码中我们看到了?
AssertEquals(0,Fib(0));?
AssertEquals(1,Fib(1));

重复!不仅在源代码,就是在测试代码中,我们也要避免重复!!(测试代码中也会出现模式哦~~)

这里,我们用一个最简单的方法避免重复,用表驱动.

我们开始改写测试代码.

测试驱动开发漫笔-一个最简单的例子public?void?testFibonacci?
测试驱动开发漫笔-一个最简单的例子{?
测试驱动开发漫笔-一个最简单的例子??int?cases[][]={{0,0},{1,1},{2,1}};?
测试驱动开发漫笔-一个最简单的例子??for(int?i=0;?i<case.Length;i++)?
测试驱动开发漫笔-一个最简单的例子??AssertEquals(case[i][1],fib[i][0]));?
测试驱动开发漫笔-一个最简单的例子?}


这样添加测试代码就容易多了.?
测试代码改过了!!!小心哦,让我们再运行下,哦还能通过,那我们就可以放心继续了.

测试驱动开发漫笔-一个最简单的例子public?void?testFibonacci?
测试驱动开发漫笔-一个最简单的例子{?
测试驱动开发漫笔-一个最简单的例子??int?cases[][]={{0,0},{1,1},{2,1},{3,2}};?
测试驱动开发漫笔-一个最简单的例子??for(int?i=0;?i<case.Length;i++)?
测试驱动开发漫笔-一个最简单的例子??AssertEquals(case[i][1],fib[i][0]));?
测试驱动开发漫笔-一个最简单的例子?}


oh! 失败了,赶快解决它

测试驱动开发漫笔-一个最简单的例子int?Fib(int?n)?
测试驱动开发漫笔-一个最简单的例子{?
测试驱动开发漫笔-一个最简单的例子?if(n==0)?return?0;?
测试驱动开发漫笔-一个最简单的例子?if(n<=2)?return?1;?
测试驱动开发漫笔-一个最简单的例子?return?2;?
测试驱动开发漫笔-一个最简单的例子}


哦,%

热点排行