既然选择远方,便只顾风雨兼程……
对于Draw A Line函数的单元测试的几点想法和实践
上一篇 /
下一篇 2009-05-05 09:52:21
/ 个人分类:软件开发相关
51Testing软件测试网Y$b#Ee![}z 这篇文章起源于有位园友在笔者的博客上提问(怎样对于一个Drawing类做单元测试),因为没有像其它的很多类或者方法,我们可以通过几句Asser.AreEqual(expectedValue, actualValue);来设置断言。这一类的单元测试笔者的经验或者说经历是一片空白,所以很遗憾不能及时帮助那位园友解决问题,而只是按照传统的单元测试的想法提供了点点建议。51Testing软件测试网0?@Z B W
\FJBBT*y'lS(}b9b0一般的单元测试
m9NQ(Fpo"Q051Testing软件测试网~|+vH
n)gnC f%~4a 有返回值的
-?&W7Pw#R5uR(p051Testing软件测试网*f6e!v\5X!KZ 一般而言,我们所要应对的单元测试是是来应付类似于public ObjectA SampleFunc(ObjectB param1, ObjectC param2){...},对于这类,应用Xunit系列工具就可以很轻松的摆平了。
r#i? ~w(neX051Testing软件测试网lL)B`)\G+~'Dd 首先我们准备一批测试数据,包括输入和输出两块数据,然后一组输入数据inputs[]和一组期望中的输出数据expectedoutput对应,最后用上面提到的Assert就搞定了:
Q_(l#kTj8S04p3T%vUdK
Z0 Assert.AreEqual(expectedoutput, new SampleFunc(inputs[0],inputs[1]))
*tZCt~)~8Ac0!m&Tap*u0yDj2B0然后泡上一壶茶,运行一下XUnit,绿了也就Ok了。51Testing软件测试网a&{x`p Q'T
51Testing软件测试网U+RC)X;xc EO 改变了某些变量的51Testing软件测试网fKQ-Ul$~e
51Testing软件测试网n7`^CRSde 这一类的单元测试的对象——改变了某些变量的方法,一般它们没有返回值,但是它们会有一无意的流下了蛛丝马迹,比如改变了某个全局变量的值,或者给某个文件记录插上了一刀子留下了一道记录等等。例如某个方法啥也没干,除了向数据库添加了一条数据,自己还掩耳盗铃返回个void,跟没事的人似的。这类方法,XUnit系列也支持的很好,大不了咱去找受害者查证——查一查数据库看刚才添加的数据,然后来一个Assert一样完事。
"at,qA;I/?1A0:d-F9YuU-|,~0
Sun4q0H0L+u Su['f#C0'a@5T^*[0T4YJ)N(j'|0今天要说的单元测试