Fitnesse使用系列二-创新互联
决策表
在武鸣等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站制作 网站设计制作按需求定制网站,公司网站建设,企业网站建设,高端网站设计,营销型网站,成都外贸网站制作,武鸣网站建设费用合理。Fitnesse中提供了好几种表格样式,前面说了,表格是执行测试的关键。从字面看,表格描述的是测试用例;从执行角度看,表格为后端的代码(fitnesse里称作fixture)提供了包名、类名、方法名和参数(仅以java为例)。
先说测试系统,fitnesse提供了两种测试系统:fit和slim。采用不同的测试系统,表格样式不同,代码也不同。所以首先就要确定用哪种。fit是默认的,是从Framework for Integrated Test工具延续过来的。如果不考虑旧代码延用的问题,建议还是用slim。因为slim在性能上要更好,而且代码编写更简单。
使用slim需要在页面加一行说明:!define TEST_SYSTEM {slim} ,通常放在页顶端
下面就该描述执行代码所依赖的类或jar包了。格式一般这样写:
!pathD:\software\eclipse\workspaces\MyDemo\bin\ 或
!pathD:\software\eclipse\workspaces\MyDemo\libs\*.jar(如果不指定.jar,那就去找.class文件)
在去年的版本里还需要把fitnesse自身的jar包加上:!pathD:\software\fitnesse-standalone.jar ,但是今年的版本里,我发现已经不需要这句了。
决策表这个样式的:
my demo | ||
inputa | inputb | exp? |
1 | 2 | 3 |
8 | 9 | 17 |
这个my demo就是代码的类名了,大家知道在大多数编程语言里是不允许含有空格的标识符的。那么在代码里用my demo肯定是不行的。Fitnesse其实是这样做的——把每个单词首字母大写,然后连起来。所以对应于代码里的类名是MyDemo,这样一来,其实这里写成My Demo、My demo、MyDemo效果都是一样的。但写成mydemo就不行了,这只能被转换成Mydemo,我想我说明白了吧。对于类的全名(含包名),那就只能老老实实按正常写法了,比如:com.calis.zjc.MyDemo,不能有空格,否则再自动转成首字母大写就不对了。
下一行就是方法名了。Fitnesse是这样做的——凡不是以?结尾的,都认为是输入方法,无返回值,方法名是set+首字母大写字符串,也就是说,上面表格对应的方法名分别是:void setInputa(...) 、void setInputb(...);而以?结尾的列,则认为是验证方法,无参数有返回值。对应方法名是int exp()。何以见得返回值类型就是int呢,其实是不限定的。不论返回什么类型都可以和页面上的字符做比较,这点比较智能(我没有看到源代码,但我估计是拿到返回值再统统.toString(),之后和页面上的字符串做equals的)
综上所述:上面表格对应的代码为:
public class MyDemo { private int a,b; public void setInputa(int a){ this.a=a; } public void setInputb(int b){ this.b=b; } public int exp(){ return a+b; } }
当我们把此页面属性设置为test时,点击那个test按钮,系统就会去查找并加载这个类,然后运行相应的方法,也即:第一步setInputa(int a),a为1;第二步setInputb(int b),b为2;第三步exp取得返回值3和表格中的3做比较,一致,这行就是绿色的,不一致就是红色的;然后再做第二行......,这样就完成了两个测试用例的执行。(如果表格里填的不是整数,那么执行赋值方法会抛异常,这点也要注意)
再说一句,执行页面并非只能写表格。完全可以写其他文字,不影响执行结果。所以我们完全可以写一段需求说明,跟着一个表格做验证;再写一段使用说明,再跟写一个表格;描述一个缺陷,再跟一个表格......这样,这个页面就成了既是文档,又是可执行用例了。总之,让“文字”得以验证,是这个工具的亮点。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前题目:Fitnesse使用系列二-创新互联
本文地址:http://myzitong.com/article/dhogco.html