首页 > 代码库 > 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系列五