初识FitNesse
FitNesse是一个开源测试框架,主要用于接受测试,也就是比对开发软件实际输出与期望输出是否相同。FitNesse最大的特点在于本身是一个简单的web sever, 在项目初设计测试用例时,可以通过编写网页的形式来展示,这样极大方便非编程人员的测试工作。
下面通过一个最简单的例子---Decision Table Test来验证除法运算正确性,讲述FitNesse的使用方法及工作原理
1. 下载及安装FitNesse可参考:http://fitnesse.org/FitNesse.UserGuide.DownloadingAndInstallingFitNesse
2. 编写web page, 设计测试用例
这里测试用例采用判定表的形式,前面几列对应输入,也就是对应测试类中的Set方法,最后一列对应输出,对应需要测试类中的计算。网页中编写代码为:
!define TEST_SYSTEM {slim}
!path /home/jia1546/workspace/Test/bin
!|c0403.Division |
|numerator|denominator|quotient?|
|10 |2 |5.0 |
|12.6 |3 |4.2 |
|100 |4 |25.0 |
第一行:使用FitNesse的slim模块,也就是使用网页的形式描述测试用例
第二行:测试类**.class所在的路径
表名:测试类的名称,c0403 package下的Division这个类
表头:numerator, denominator 对应类中的setNumerator(), setDeniminator()这两个方法,quotient对应double quotient()这个方法,注意quotient后面有个问号,说明这个方法是有返回值的。
保存后对应的网页:
下面是测试类的代码
package c0403;
import fit.ColumnFixture;
public class Division extends ColumnFixture{
private double numerator;
private double denominator;
public void setNumerator(double numerator) {
this.numerator = numerator;
}
public void setDenominator(double denominator) {
this.denominator = denominator;
}
public double quotient(){
return numerator / denominator;
}
}
点Test按钮则开始测试,测试结果如下:
测试用例中的绿色显示结果正确。
到这里你也许猜出了这个测试工具的工作原理了吧,Slim根据网页中的classpath去调用测试类,将测试用例的输入给测试类中对应的set方法,然后slim将程序中对应方法的实际输出跟测试用例的期望输出相比较,如果相同,则测试用例通过。那如何将HTML中表单的值正确解析并输入到程序中呢,注意到程序中的import跟extend,这就告诉测试类该如何处理获得的表单数据。