FitNesse-FixtureCode_1

2011-06-17  徐磊 

前一篇  TestHistory     后一篇   FixtureCode_2

http://localhost:8888/FitNesse.UserGuide.FixtureCode

幕后(我们没有看到的真相):夹具代码

先看下验证除法运算的测试表:

表略

当我们点击页面左侧的Test按钮时,到底发生了什么?什么被运行了?

第一步,FitNesse把测试表递交给Slim框架。(FitNesse仅仅是个构建在Slim框架上的wiki GUI界面)

第二步,Slim寻找与测试表对应的夹具代码(也就是说夹具代码是Slim框架里的?我们向下看),并运行它。

第三步,夹具代码调用应用程序代码做实际的工作,然后它们把结果反馈给夹具。

第四步,Fit框架给FitNesse返回测试结果

第五步,FitNesse在页面上显示测试表单元里是现实红色呢?绿色呢?还是因异常发生而显示黄色。

什么是夹具代码?

夹具要怎么样理解呢,它们就是Slim用来处理测试表中数据的类。在测试表的顶格上的行写着它们的名称,示例如下:Division就是被Slim调用的夹具。

Java版的Division类:

这类就不赘述了

Slim是如何利用夹具代码来处理测试表数据的?

       上文展示的除法表就是一个示例,是很多测试表中的一种。Slim按行读取测试表里的数据,然后把除数和被除数的值使用设置函数赋给除法类里的字段。对每行来说,都调用除法类里的quotient()函数,这个函数返回值就是我们的希望得到的,除数除以被除数后的结果。简单来说就是,Slim调用setNumerator(10)setDenominator(2),然后调用quotient()。结果被放回到除法测试表中,then你可以看到单元格颜色相应发生变化。

       再点击一次Test按钮,查看表格中quotient?列下面预期输出所发生的变化。对每个预期输出的单元格来说,除法测试表将比较预期值和实际值。如果两者相等,单元格就是绿的,否则就显示红色,并把预期值和实际值都显示出来。如果Slim遇到个异常,或者不能找到夹具,字段,方法,它就显示黄色,并显示异常内容。

“稍微等会,那太简单了”- -

       对的,你这么认为你就太DIAO了。在实际应用中,夹具代码可能不处理任何实际的工作(尽管一个除法操作只做了一丢丢工作)。夹具代码可能委托到真正的应用程序代码中去,而这个应用程序代码才是真正做事的。一般来说,夹具代码应该尽可能的简单。它应当仅仅是FitNesse测试表和等待测试的应用程序间的通道。

前一篇  TestHistory   后一篇   FixtureCode_2

532°/5321 人阅读/0 条评论 发表评论

登录 后发表评论