Fitnesse使用系列六
来源:互联网 发布:2016下半年的网络综艺 编辑:程序博客网 时间:2024/04/30 10:51
Table 表
基本上这一节就是文档翻译,不打算写示例了,原因结尾会说。
Table表的意思是你可以写出任意样式的表格来。那么任意样式的表格是如何被fitnesse识别并执行的?以及如何展示执行结果的?一起来看一下。
前面几种表格的基本思路是——要么由表头来确定方法名(决策表);要么固定方法名(动态决策表、查询表);要么结合某些标识符确定方法名(脚本表)。总之给人有迹可循的印象,而Table表要换个思路——没有表头,也不用纠结于那个数传给了哪个变量。唯一必须有的方法名称是List doTable(List<List<String>>)。可以看出输入参数是一个两级List,其实就是表格内容啦。里面一级List是某一行中的元素,都是字符串形式传过去的;外面一级List就是多个行了。返回值其实也是一个两级List,只不过简写了。写成这样就更精确了——List<List<String>> doTable(List<List<String>> table)。返回的List的结构也是一样的,各个行、行中的各个元素。元素也是字符串形式,内容如下:
pass——表示通过
pass:<message>——通过且带信息
...不一一列举了,参考文档的说明
可以看出,在这个方法里我们要全面负责输入和输出,针对输入List中的内容做出判断和处理,再写到一个输出List里。这也意味着fixture相对灵活与复杂。
结果展示是这样的:把这个返回的“表格”(二级列表)中的元素和原始“表格”进行“逐格叠加”。当输出字符是pass,就把输入表的这个“格”变绿显示,如果是pass:message,就变绿且附加message显示,如果是fail,就变红显示,如果是空字符串,就黑色原始值显示,如果是没有标记的普通字符串,就替换原来的内容并且红色......
如果返回“表格”的大小、长短和输入表格不同,那么“叠加”会发生什么。fitnesse已经考虑到了这点——如果结果短了,后面就不管了,原样显示;如果结果长了,就附加显示出来
综上所述,Table表是一种最灵活的表示。但我个人相当不建议使用这种,除非从之前介绍的表格中找不到合适的。原因是这种代码写起来会比较复杂且通用性极差。我对复杂的东西有天然的抵触心理。有人说程序员分两种,一种是把简单的事情考虑的很复杂,一种是把复杂的事情考虑的尽量简单。毫无疑问我是后面这种。我所有的文章都是在尽量用最简单的方法来阐述事情。
基本上这一节就是文档翻译,不打算写示例了,原因结尾会说。
Table表的意思是你可以写出任意样式的表格来。那么任意样式的表格是如何被fitnesse识别并执行的?以及如何展示执行结果的?一起来看一下。
前面几种表格的基本思路是——要么由表头来确定方法名(决策表);要么固定方法名(动态决策表、查询表);要么结合某些标识符确定方法名(脚本表)。总之给人有迹可循的印象,而Table表要换个思路——没有表头,也不用纠结于那个数传给了哪个变量。唯一必须有的方法名称是List doTable(List<List<String>>)。可以看出输入参数是一个两级List,其实就是表格内容啦。里面一级List是某一行中的元素,都是字符串形式传过去的;外面一级List就是多个行了。返回值其实也是一个两级List,只不过简写了。写成这样就更精确了——List<List<String>> doTable(List<List<String>> table)。返回的List的结构也是一样的,各个行、行中的各个元素。元素也是字符串形式,内容如下:
pass——表示通过
pass:<message>——通过且带信息
...不一一列举了,参考文档的说明
可以看出,在这个方法里我们要全面负责输入和输出,针对输入List中的内容做出判断和处理,再写到一个输出List里。这也意味着fixture相对灵活与复杂。
结果展示是这样的:把这个返回的“表格”(二级列表)中的元素和原始“表格”进行“逐格叠加”。当输出字符是pass,就把输入表的这个“格”变绿显示,如果是pass:message,就变绿且附加message显示,如果是fail,就变红显示,如果是空字符串,就黑色原始值显示,如果是没有标记的普通字符串,就替换原来的内容并且红色......
如果返回“表格”的大小、长短和输入表格不同,那么“叠加”会发生什么。fitnesse已经考虑到了这点——如果结果短了,后面就不管了,原样显示;如果结果长了,就附加显示出来
综上所述,Table表是一种最灵活的表示。但我个人相当不建议使用这种,除非从之前介绍的表格中找不到合适的。原因是这种代码写起来会比较复杂且通用性极差。我对复杂的东西有天然的抵触心理。有人说程序员分两种,一种是把简单的事情考虑的很复杂,一种是把复杂的事情考虑的尽量简单。毫无疑问我是后面这种。我所有的文章都是在尽量用最简单的方法来阐述事情。
0 0
- Fitnesse使用系列六
- Fitnesse使用系列一
- Fitnesse使用系列二
- Fitnesse使用系列三
- Fitnesse使用系列四
- Fitnesse使用系列五
- Fitnesse使用系列七
- Fitnesse使用系列八
- Fitnesse使用
- fitnesse使用
- fitnesse使用一
- fitnesse使用二
- fitnesse使用介绍
- fitnesse 系列2 一个简单的例子
- 使用Fitnesse进行接口自动化测试
- fitnesse使用中遇到的问题
- 使用Fitnesse进行接口自动化测试
- Fitnesse 测试中使用ComponentQuery定义Object
- Linux内核数据结构
- 我的Unix笔记
- VC知识库全套视频下载 VIP套餐(共16套)
- linux鸟哥私房菜学习笔记一
- 程序员 2014-9-25 一天的奇妙之旅
- Fitnesse使用系列六
- MKNetworkKit与AFNetworking和ASIHTTPRequest,MKNetworkKit用法与介绍
- 传说中的CSS~让我来告诉你吧~Cascading Style Sheets
- leetcode-Reverse Words in a String
- Android 利用seekbar结合AudioManager调节系统音量
- MyBatis映射文件的resultMap如何做表关联
- FOJ2166 inversion
- Ubuntu 14.04 创建无线接入点供移动设备连接上网
- C++基础之引用(常人有误区)