Java Scanner 中next() 与nextLine()的区别
FitNesse测试之Script table

初识FitNesse

Jimmy posted @ 2011年11月05日 22:13 in Java Programming , 3887 阅读

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,这就告诉测试类该如何处理获得的表单数据。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter