Fitnesse中有多种针对不同测试类型的用例表。
最常用的有ColumnFixture、RowFixture和ActionFixture;比较少用到的有RowEntryFixture、TableFixture等。
其中ColumnFixture是用于测试需要成排的输入和输出的验证测试。(如下图)
AddTest | ||
y |
x |
result() |
1 |
1 |
2 |
2 |
2 |
5 |
解释:
每个表格,都会由程序员所编写的"fixture"来解释,Fixture:它会驱动实际的产品软件来对表格中给出的测试用例进行检验。
第一行中的内容对应Fixture实现的类名。
第二行中的内容对应于要触发的Fixture类中的实例变量和要调用并验证其结果的方法。
(FIT会根据表格中的内容,找到相应的Fixture类,实例化出Fixture对象实例,根据表格中提供的内容设置相应的实例变量的值,然后调用表格中给出的方法,并就方法的返回值和表格中提供的值进行对比,然后报告结果。)
从这个用例来看,我们需要作个两数相加的类,其中有一个算两数相加的方法。
现在就开始我们的测试吧:
首先,我们要测试的类代码如下:
public class Add {
private int a,b;
Add(int a,int b){
this.a = a;
this.b = b;
}
public int getSum(){
return a+b;
}
}
下一步,我们要编写测试脚本来验证这个方法的正确性,代码如下:
import fit.ColumnFixture;
public class AddTest extends ColumnFixture {
public int x,y;
Add anum = new Add(x,y);
public int result(){
return anum.getSum();
}
}
解释代码:
1. import fit.ColumnFixture; //导入fit包中的ColumnFixture类,该类是用于读取测试用例表中的元素。
2. 代码中的变量x,y与方法result()均需与测试用例表定义的变量与办法一致;否则用例无法输入,同时返回值也无法与预期输出值相匹配是否一致。
编译完成后,就可以开始我们的验证测试咯~~~
如果类路径的配置等其他配置正确的前提下,测试的可能结果为3种,绿色(测试通过)、红色(与预期结果不一致,它会提示 )与黄色(产生异常情况)