首页 > 代码库 > Fitnesse系列五

Fitnesse系列五

脚本表

如果说前面介绍的几种表格都是单步骤、单方法。Script table就是一系列的多步骤操作了,正如名称所代表的含义。

表头的第一个格加script:前缀,也可以只是一个script,后面紧跟的单元格作为类名。后面跟构造参数。下面的行每行代表一个操作。允许的操作类型有:执行方法、检查结果、显示输出。

执行方法包括方法名称和参数。相当奇葩的设计是方法名称可以和参数交错放入表格中。如我下面的示例中this is a method in code是分别从1、3、5列中组合起来的,而2、4、6列是参数。还是用另外一种写法更符合正常习惯些——第一列放方法名(紧跟一个;),后面依次放参数。

检查结果用四个词组作为第一列的内容:check、check not、ensure、reject,分别表示比对返回结果与表格内容相同、与表格内容不同、返回的是true、返回的是false

显示输出用show单词,在第一列,后面是方法名和参数。这一行只显示输出不做验证。所以结果表格中会多出一列。

示例:

script:script.zjc.com.ScriptDemo

zjc

20

this is

10

a method

20

in code

30

check

get age

80

this is a method in code;

15

25

35

check not

get age

200

show

get name

5

reject

reject method

5

fixture:

package script.zjc.com;
public class ScriptDemo {
	private String name;
	private int age;
	public ScriptDemo(String name,int age){
		this.name=name;
		this.age=age;
	}
	
	public void thisIsAMethodInCode(int a,int b,int c){
		age=age+a+b+c;
	}
	
	public int getAge(){
		return age;
	}
	public String getName(int a){
		return name;
	}
	
	public boolean rejectMethod(int a){
		return false;
	}
}

在我看来,script table和decision table是最重要的两种表格,decision table可以实现大部分的数据验证,而script table可以搭配其他工具一起使用,实现很多奇妙的、超出预期的功能。

本文出自 “空空如也” 博客,转载请与作者联系!

Fitnesse系列五