Fitnesse Slim使用 - QueryTable

Fitnesse Slim使用 - QueryTable

2017-09-28

Query Table的格式如下:

Query:employees hired before 10-Dec-1980
company number employee number first name last name hire date
4808147 9942 Bill Mitchell 19-Dec-1966
4808147 1429 Bob Martin 10-Oct-1975

也可以让单元为空,测试是会自动填上:

Query:employees hired before 10-Dec-1980
employee number first name last name hire date
1429      
8832      

源代码:

package util;

import java.util.Date;
import java.util.List;

import static java.util.Arrays.asList;

public class EmployeesHiredBefore {

  public EmployeesHiredBefore(Date date) {
  }

  public void table(List<List<String>> table) {
    // optional function
  }

  public List<List<List<String>>> query() {

    return
      asList( // table level
        asList( // row level
          asList("company number", "4808147"), // cell column name, value
          asList("employee number", "1429"),
          asList("first name", "Bob"),
          asList("last name", "Martin"),
          asList("hire date", "10-Oct-1974")
        ),
        asList(
          asList("company number", "5123122"),
          asList("employee number", "8832"),
          asList("first name", "James"),
          asList("last name", "Grenning"),
          asList("hire date", "15-Dec-1979")
        )
      );
  }
}

图1 测试结果

说明:

  1. Query Table的第一行,第一列单元格:前缀Query:+类名EmployeesHiredBefore,后面的单元格式构造函数的参数。
  2. QueryTable类必须有一个query方法返回结果行,每一行都是由两个元素构成,一个就是字段名,另外一个就是对应的值(String类型)。
  3. 从表格中的值从最左边开始匹配返回的结果,如果该行中的第一列不匹配,则该条记录是不匹配的,执行时候就查询失败。
时间: 2024-10-31 01:31:43

Fitnesse Slim使用 - QueryTable的相关文章

Fitnesse Slim的使用

官网上的使用说明:http://www.fitnesse.org/FitNesse.UserGuide.WritingAcceptanceTests.Slim Fitnesse默认使用fit,如果要使用slim需要先声明 !define TEST_SYSTEM {slim} 1.Decision Table 表格 源码 package fitnesse.slim.test; public class ShouldIBuyMilk { private int dollars; private in

Fitnesse Slim使用 - ScriptTable

Fitnesse Slim使用 - ScriptTable 2017-09-28 script login dialog driver Bob xyzzy login with username Bob and password xyzzy check login message Bob logged in. reject login with username Bob and password bad password check login message Bob not logged in

Scenario:模块化定义Fitnesse测试用例的能力和局限

首先普及一下概念,什么是Fitnesse,听一听.NET版Cucumber的创始人Aslak Hellesøy谈Fitnesse与Cucumber对比: FIT/Fitnesse和Cucumber都执行高级语言编写的验收测试.FIT仅识别HTML,Fitnesse则通过提供Wiki语法来简化编写测试的过程.在FIT/Fitnesse当中,所有的测试都以表格的形式呈现. FitNesse比Cucumber的优势在于Wiki支持. 原文链接:http://www.infoq.com/cn/news/

接口测试目录导航

接口测试目录导航 2017-12-29 [1] 接口测试基础与工具 [2] 接口测试框架概述 [3] 接口测试框架结构与功能介绍 [4] 接口测试框架客户端部署及使用 相关工具 fitnesse [1] fitnesse - 框架介绍 [2] fitnesse - 安装部署 [3] fitnesse - 一个简单的例子(slim) [4] Fitnesse - Slim Tables [5] fitnesse - Variables and Symbols [6] fitnesse - 特殊Pa

Fitnesse使用系列二

决策表 Fitnesse中提供了好几种表格样式,前面说了.表格是运行測试的关键.从字面看.表格描写叙述的是測试用例.从运行角度看,表格为后端的代码(fitnesse里称作fixture)提供了包名.类名.方法名和參数(仅以java为例). 先说測试系统.fitnesse提供了两种測试系统:fit和slim.採用不同的測试系统,表格样式不同,代码也不同.所以首先就要确定用哪种.Fit是默认的.是从Framework for Integrated Test工具延续过来的. 假设不考虑旧代码延用的问题

Fitnesse + Xebium环境搭建

1.在搭建Fitnesse + Xebium环境之前先将selenium基础环境搭建完成并调试成功 参照:http://www.cnblogs.com/moonpool/p/5480724.html 2.把Xebium集成到Fitnesse中 a. 搭建Fitnesse环境 参照:http://www.cnblogs.com/moonpool/p/5765307.html b.下载Xebium 下载地址:http://xebia.github.io/Xebium/ c. 导入eclipse,如下

Fitnesse的一个简单实例

Fixture 代码 package eg; import org.joda.time.DateTime; public class JodaTime { int year; public String getCurrentTime() { DateTime dateTime = new DateTime(); return String.valueOf(dateTime); } public int getYear(){ DateTime dateTime = new DateTime();

fitnesse(gradle构建)安装步骤

1.安装jdk.ant.gradle(参考http://www.cnblogs.com/274914765qq/p/4401525.html) 2.下载Fitnesse https://github.com/unclebob/fitnesse/ 3.下载完成后,解压,并双击gradlew.bat,然后等待完成(时间较长). 4.完成后,通过命令行进入fitnesse-master并使用下面的命令运行(会下载很多包,时间较长): .\gradlew run 5.eclipse 安装gradle插件

扩展Fitnesse的ScriptTable:支持if-then

Fitnesse的ScriptTable只能顺序执行所有行,本博文介绍如何让ScriptTable支持if-then,来条件执行一行. 首先普及一下概念,什么是Fitnesse,听一听.NET版Cucumber的创始人Aslak Hellesøy谈Fitnesse与Cucumber对比: FIT/Fitnesse和Cucumber都执行高级语言编写的验收测试.FIT仅识别HTML,Fitnesse则通过提供Wiki语法来简化编写测试的过程.在FIT/Fitnesse当中,所有的测试都以表格的形式