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