fitnesse 源码研究和二次开发
来源:互联网 发布:百度人工智能研究 编辑:程序博客网 时间:2024/05/16 01:30
1. 前端框架 velocity
2. 类型转换,比如Map转String,List转String,相关代码在fitnesse.slim.converters包下,ConverterRegistry负责注册各种类型的Converter组件,因此可以自定义类型转换并加入ConverterRegistry进行注册
3. 增加fitnesse slim架构的页面方法(check, show ,note,check not),以fitnesse.testsystems.slim.tables.ScriptTable为入口进行扩展
4. fitnesse没有用到诸如tomcat之类的web服务器,而是基于ServerSocket的socket服务,来模拟http服务
服务的代码在fitnesse.socketservice包中,其中fitnesse.socketservice.SocketService提供核心服务
5. 修改生成文件的编码
修改fitnesse.testsystems.ClientBuilder类中的DEFAULT_COMMAND_PATTERN 变量值,加入"-Dfile.encoding=utf-8"
static final String[] DEFAULT_COMMAND_PATTERN = { javaExecutable(), "-Dfile.encoding=utf-8", //全局文件编码 "-cp", "%p", "%m" };
6. slim上下文(fitnesse.slim.SlimExecutionContext)(使用slim框架时,用来存储fitnesse变量和实例的上下文容器)
通过setVariable方法,存储slim的变量名和变量值到variables中,其实就是存储到VariableStore实例中的一个Map类型的variables 变量里private VariableStore variables = new VariableStore();
public class VariableStore {
private Map<String, MethodExecutionResult> variables = new HashMap<>();
.
.
.
}
通过修改fitnesse.slim.SlimExecutionContext,来实现定义类实例的变量名:
a) Fitnesse slim框架的DecisionTable类自动保存实例变量到fitnesse变量存储中
b) 修改fitnesse源码->自定义页面脚本中各种Table(ScriptTable,DecisionTable)的类实例变量
7. 修改测试完成后的Summary显示
修改前:Test Pages: 1 right, 0 wrong, 0 ignored, 0 exceptions Assertions: 198 right, 0 wrong, 622 ignored, 0 exceptions (1.391 seconds)
修改后:Test Pages: 1 right, 0 wrong, 0 ignored, 0 exceptions Assertions: 198 right, 0 wrong, 622 ignored, 0 exceptions (1.391 seconds) Time : 2017-09-15 14:31:31.093
修改fitnesse.reporting.SuiteHtmlFormatter类的makeSummaryContent方法,在return 前加入代码如下:
String now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()); summaryContent += " "; summaryContent += String.format(" <strong>Time :</strong> %s", now);
- fitnesse 源码研究和二次开发
- fitnesse源码导入eclispe
- FIT和FitNesse使用方法
- ecshop二次开发 结构分析和代码研究
- ecshop二次开发 结构分析和代码研究 呵呵
- JMP二次开发方法研究
- Fitnesse 和 RestFixture 测试用例(备忘)
- MyBatis源码研究之$和#
- CorelDRAW的二次开发源码
- ecshop 二次开发,源码分析
- ecshop 二次开发,源码分析
- ecshop 二次开发,源码分析
- Kylin源码 二次开发
- 手机微信群控源码二次开发
- 群控源码二次开发
- UG二次开发技术的研究
- 开始研究ArcInfo系例的软件和二次开发,搜集的基本资料:
- webrtc研究一(源码下载和编译)
- 浅谈我对MySQL数据库的范式的理解和设计
- 连接rabbitmq集群报ProbableAuthenticationError
- WR解析报告
- 浅尝Solr~~
- C++11可变参数函数模板
- fitnesse 源码研究和二次开发
- 使用parted划分GPT分区
- Java多线程
- 图论基础(一)
- 在当前时间上加时间(年月日,小时,分钟,秒)
- java程序连接数据库并批量执行.sql文件
- MVC 过滤器详解
- java设计模式——原型模式(克隆)
- <%=menu%>