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可以搭配其他工具一起使用,实现很多奇妙的、超出预期的功能。

时间: 2024-10-06 01:18:32

Fitnesse系列五的相关文章

Apache Kafka系列(五) Kafka Connect及FileConnector示例

Apache Kafka系列(一) 起步 Apache Kafka系列(二) 命令行工具(CLI) Apache Kafka系列(三) Java API使用 Apache Kafka系列(四) 多线程Consumer方案 Apache Kafka系列(五) Kafka Connect及FileConnector示例 一. Kafka Connect简介 Kafka是一个使用越来越广的消息系统,尤其是在大数据开发中(实时数据处理和分析).为何集成其他系统和解耦应用,经常使用Producer来发送消

RX系列五 | Schedulers线程控制

RX系列五 | Schedulers线程控制 在我们上一篇文章中的,我们的小例子里有这么一段代码 //网络访问 .observeOn(Schedulers.io()) 事实上,我们在使用网络操作的时候,便可以控制其运行在哪个线程中,而Schedulers类,有四个方法,分别是 Schedulers.immediate(); Schedulers.newthread(); Schedulers.io(); Schedulers.computation(); 以及RxAndroid中的Android

MyBatis 系列五 之 关联映射

MyBatis 系列五 之 关联映射 一对多的关联映射 一对多关联查询多表数据 1.1在MyBatis映射文件中做如下配置 <!--一对多单向的连接两表的查询--> <resultMap type="Dept" id="deptMapper"> <id property="deptNo" column="deptNo"/> <result property="deptName

C语言快速入门系列(五)

C语言快速入门系列(五) C语言指针初涉                                           ------转载请注明出处:coder-pig 本节引言: 上一节我们对C语言复合数据类型中的数组进行了解析,在本节中,我们会对C语言复合数据类型中的 重点,C语言的灵魂-----指针进行学习!使用指针的好处:利用指针可以表示与使用复杂的数据结构; 更加方便地使用我们的数组与字符串;可以像汇编语言一样直接处理内存单元地址;可以动态地进行内存空间 分配,C语言指针是重点,同

互联网金融的前世、今生和未来-系列五(今生):互联网金融的有效监管

互联网金融的前世.今生和未来--系列一:山雨欲来 互联网金融的前世.今生和未来-系列二(前世):金融与技术的首次亲密接触之金融电子化 互联网金融的前世.今生和未来-系列三(今生):一场跨界的战争 互联网金融的前世.今生和未来-系列四(今生):百花齐放的互联网金融业态 今生:金融与互联网的深度融合--互联网金融 金融行业作为现代经济的核心,对国民经济的平稳运行至关重要.为防止出现金融市场失灵的情况,如内幕交易.信息不对称.信托责任.监管套利.系统性风险及羊群效应等,世界各国政府普遍会基于本国的金融

Maven 系列 五 :使用Nexus搭建Maven私服

1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载.                                                  我们可以使用专门的 Maven 仓库管理软件来搭建私服,比如:Apache Archiva,Artifactory,Sonatype Nexus.这

SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型

原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.熟悉或了解Microsoft SQL Server 2008中的空间数据类型. 4.具备相应(比如OGC)的GIS专业理论知识. 5.其他相关知识. 通过前面几篇文章介绍了

【C++自我精讲】基础系列五 隐式转换和显示转换

0 前言 1)C++的类型转换分为两种,一种为隐式转换,另一种为显式转换. 2)C++中应该尽量不要使用转换,尽量使用显式转换来代替隐式转换. 1 隐式转换 定义:隐式转换是系统跟据程序的需要而自动转换的. 1)C++类型(char,int,float,long,double等)的隐式转换: 算术表达式隐式转换顺序为: 1.char - int - long - double 2.float - double //1)算术表达式 int m = 10; double n = m;//n = 10

VSTO之旅系列(五):创建Outlook解决方案

原文:VSTO之旅系列(五):创建Outlook解决方案 本专题概要 引言 Outlook对象模型 自定义Outlook窗体 小结 一.引言 在上一个专题中,为大家简单介绍了下如何创建Word解决方案的,所以本专题中将为大家介绍下Outlook相关的内容.我们从Visual Studio 2010 中Office节点下的模板中我们可以看到,Outlook只有外接程序的模板,并没有提供像Word或Excel这样的文档级的模板,所以VSTO没有为Outlook解决方案创建宿主项和宿主控件(Excel