脚本表
如果说前面介绍的几种表格都是单步骤、单方法。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可以搭配其他工具一起使用,实现很多奇妙的、超出预期的功能。
时间: 2024-10-06 01:18:32