Fitnesse使用系列三

动态决策表

动态决策表是新出的,去年初的版本里还没有这个。看了一下文档和示例,大意是作为普通决策表的一个辅助手段。是为不容易匹配方法名称而推出的。但如果只有一两个参数,再怎么着也不至于找不到名称。所以我认为动态表主要是为了给那些有大量输入参数的情况设计的。像UserGuide示例中的表格,有6个输入,如果按普通决策表的话至少要写6个setXxx方法。如果更多,代码也就更繁琐了。

动态决策表把所有输入都放到一个set方法里(同普通决策表一样,凡不是以?结尾的都认为是输入);所有输出(以?结尾的)放到一个get方法里,举个例子:

ddt:ddt.zjc.com.DynamicTable
abcreturn?exception?
139falseNo Exception
018falseNo Exception
261falseNo Exception

ddt:是必须的,动态决策表的标志,对应代码中:

set方法就规定成了固定格式——两个参数,第一个参数是String类型,表示列名称,第二个参数是值

get方法也是固定格式——一个参数:列名称

输入方法统一成一个,输出方法也统一成一个,那么如果需要区分,只能我们自己在代码里做判断了。如以下示例:

package ddt.zjc.com;

public class DynamicTable {
	private int num;
	public void set(String name,int a){
		if(name.equals("b")){
			this.num=a;
		}	
	}
	
	public String get(String s){
		if(s.equals("exception")){
			return "No Exception";
		}else {
			if (num==1)
				return "true";
			else
				return "false";
		}
			
	}

在set方法中我做了如下判断,只有当列名为“b”的时候才做赋值——这也就意味着a、c列其实完全不起作用;get方法也做了一下判断,以区分return列、exception列的输出内容。执行即可看到结果。

不怕麻烦的话,动态决策表总是可以找到一个普通决策表的写法的,所以算是普通决策表的一种特例。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值