修改文件:fitnesse.slim.fixtureInteraction.DefaultInteraction.java

修改如下三处内容:

(注意只支持仅含有一个参数,且该参数是多参数的fixture)

 protected Method findMatchingMethod(String methodName, Class<?> k, int nArgs) {
Method[] methods = k.getMethods();
if(methods == null) {
methods = k.getMethods();
} for (Method method : methods) {
boolean hasMatchingName = method.getName().equals(methodName);
if(hasMatchingName && method.isVarArgs()){
return method;
}
boolean hasMatchingArguments = method.getParameterTypes().length == nArgs;
if (hasMatchingName && hasMatchingArguments) {
return method;
}
}
return null;
}
 protected Object[] convertArgs(Method method, Object[] args) {
Type[] argumentParameterTypes=null;
if(method.isVarArgs()){
return args;
}else{
argumentParameterTypes = method.getGenericParameterTypes();
}
return ConverterSupport.convertArgs(args, argumentParameterTypes);
}
 public Object methodInvoke(Method method, Object instance, Object... convertedArgs) throws Throwable {
try {
if(method.isVarArgs()){
String[] s = new String[convertedArgs.length];
int i =0;
for(Object arg:convertedArgs){
s[i]=arg.toString();
i++;
}
return method.invoke(instance, (Object)s);
}else{
return method.invoke(instance, convertedArgs);
} } catch (InvocationTargetException e) {
if(e.getCause() != null){
throw e.getCause();
}else{
throw e.getTargetException();
}
}
}

使用例子:

最新文章

  1. git安装及命令使用和github网站
  2. xml解析模块
  3. Spring3系列8- Spring 自动装配 Bean
  4. 50个提高PHP编程效率的方法
  5. VirtualBox 虚拟 Ubuntu 的一些感想
  6. 关于linux软连接
  7. asp.net获取select值的方法
  8. Composer 基本指令操作使用
  9. HDFS之RPC机制
  10. 使用@Autowird注入报空指针异常
  11. String,StringBuilder,StringBuffer区别
  12. [转]RJ45接口说明
  13. spring Boot 上传文件,10天后,不能上传的bug
  14. Unity&amp;UGUI
  15. 罗伯特•盖洛博士(Dr. Robert Charles Gallo)是世界著名的美国生物医学家,他以共同发现了人类免疫缺陷病毒(HIV)――这一导致获得性免疫缺陷综合症(AIDS)的致病源而闻名于世。
  16. Appium 安装详细版教程
  17. Pytorch多进程最佳实践
  18. (转)NGUI研究院之三种方式监听NGUI的事件方法
  19. Tasker 中文版(4.6u2)
  20. iOS:沙盒、偏好设置、归档、解归档

热门文章

  1. /etc/init.d/iptables stop
  2. coreseek中文搜索
  3. 我的Android进阶之旅------>Android中MediaButtonReceiver广播监听器的机制分析
  4. PAT天梯赛 L2-002. 链表去重 【STL】
  5. IO多路复用之Reactor模式
  6. Ubuntu/CentOS下使用脚本自动安装 Docker
  7. Makefile中的$(@:_config=)什么意思?【转】
  8. 算法(Algorithms)第4版 练习 1.3.9
  9. 算法(Algorithms)第4版 练习 1.3.23 1.3.22
  10. 2048聚合版开源代码,cocos2d-js编写,基于CocosEditor开发工具,可运行Android,ios,html5等