Fitnesse-20140630与RestFixture-3.1编译与运行步骤
为了能使RestFixture-3.1在Fitnesse-20140630中正确打印测试结果,准备修改RestFixture。

1.下载并编译Fitnesse-20140630
以下步骤以在64位Windows7电脑上编译为例,其他平台如Linux的编译步骤大同小异。
第一步:下载Fitnesse源代码
到 https://github.com/unclebob/fitnesse 下载Fitnesse源代码zip包:

解压fitnesse-master.zip:

第二步:下载并安装JDK 7u65
安装JDK网上有很多教程,以下简略介绍。
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
jdk-7u65-windows-x64.exe
安装,并设置环境变量:
|
1
2
|
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_65Path添加内容: ";%JAVA_HOME%\bin;%JAVA_HOME%\..\jre\bin" |
启动命令行工具cmd.exe,输入:
|
1
2
|
C:\Users\asus>javac -versionjavac 1.7.0_65 |
看到上述结果,说明jdk已正确安装。
第三步:下载并安装Ant-1.9.4
网址:http://ant.apache.org/bindownload.cgi
下载 apache-ant-1.9.4-bin.zip
解压到D:\fitnesse下, 
设置环境变量:
ANT_HOME=D:\fitnesse\apache-ant-1.9.4
Path添加内容: “;%ANT_HOME%\bin”
启动命令行工具cmd.exe,输入:
|
1
2
3
|
C:\Users\asus>antBuildfile: build.xml does not exist!Build failed |
看到上述结果,说明ant已正确安装。
第四步:编译Fitneese源代码
确保编译Fitneese的电脑在联网状态,因为编译时Ant会自动下载需要的各种jar包。
命令行下进入fitnesss源代码目录,并运行ant:
|
1
2
3
4
5
6
7
|
D:\fitnesse\fitnesse-master>ant...很多行打印...几分钟后BUILD SUCCESSFULTotal time: 3 minutes 9 secondsD:\fitnesse\fitnesse-master> |
第五步:编译环境下启动fitneese
命令行下进入fitnesss源代码目录,并运行ant run:
|
1
2
3
|
D:\fitnesse\fitnesse-master>ant run...很多行打印...1分钟后 |
命令行下进入fitnesss源代码目录,并运行ant:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
D:\fitnesse\fitnesse-master>ant...很多行打印...几分钟后run: [java] Configured verbose logging [java] Loaded custom comparator glob: fitnesse.testsystems.slim.GlobComparator [java] root page: fitnesse.wiki.fs.FileSystemPage at .\FitNesseRoot [java] logger: none [java] authenticator: fitnesse.authentication.PromiscuousAuthenticator [java] page factory: fitnesse.html.template.PageFactory [java] page theme: bootstrap [java] Starting FitNesse on port: 8001 [java] Bootstrapping FitNesse, the fully integrated standalone wiki and acceptance testing framework. |
上面运行打印的关键内容:
Starting FitNesse on port: 8001 表示在端口8001启动,所以在浏览器url栏中输入 http://localhost:8001

第六步:使用Finesse安装包启动Fitneese
上面的ant run是在编译环境下启动Fitneese
编译Fitneese后生成的安装包在这里:

启动Fitneese参见这里:
第七步:下载并安装Eclipse
Eclipse是Java开发的IDE环境,我在后面修改java代码和查找函数定义时需要用到。
http://www.eclipse.org/downloads/

因为JDK是64位的,所以必须下载64位Eclipse.
解压到D:\fitnesse :

2.下载并编译RestFixture-3.1
第一步:下载RestFixture源代码
https://github.com/smartrics/RestFixture 下载RestFixture-master.zip 
并解压到D:\fitnesse

第二步:下载并安装Maven
http://maven.apache.org/download.cgi 下载 apache-maven-3.2.2-bin.zip
并解压到D:\fitnesse:

设置环境变量:
M2_HOME=D:\fitnesse\apache-maven-3.2.2
Path添加内容: “;%M2_HOME%\bin”
启动命令行工具cmd.exe,输入:
|
1
2
3
4
5
6
7
8
|
C:\Users\asus>mvn --versionApache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T21:51:42+08:00)Maven home: D:\fitnesse\apache-maven-3.2.2Java version: 1.7.0_65, vendor: Oracle CorporationJava home: C:\Program Files\Java\jdk1.7.0_65\jreDefault locale: zh_CN, platform encoding: GBKOS name: "windows 7", version: "6.1", arch: "amd64", family: "windows" |
看到上述结果,说明maven已正确安装。
第三步:编译RestFixture
命令行下进入RestFixture源代码目录,并输入命令 mvn clean package
|
1
2
3
4
5
6
7
8
9
10
11
|
D:\fitnesse\RestFixture-master>mvn clean package...很多行[INFO] Building zip: D:\fitnesse\RestFixture-master\target\smartrics-RestFixture-3.1-SNAPSHOT-bin.zip[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 34.981 s[INFO] Finished at: 2014-08-01T06:24:33+08:00[INFO] Final Memory: 24M/123M[INFO] ------------------------------------------------------------------------D:\fitnesse\RestFixture-master> |
编译后产生一个安装包:smartrics-RestFixture-3.1-SNAPSHOT-bin.zip
第四步:编译环境下运行RestFixture
需要额外下载slf4j-simple-1.6.6.jar到D:\fitnesse\RestFixture-master目录下:

在Fitnesse下输入以下测试用例:
|
1
2
3
4
5
6
7
8
|
!define TEST_SYSTEM {slim}!path D:/fitnesse/RestFixture-master/target/dependencies/*!path D:/fitnesse/RestFixture-master/target/smartrics-RestFixture-3.1-SNAPSHOT.jar!path D:/fitnesse/RestFixture-master/slf4j-simple-1.6.6.jar| Table:smartrics.rest.fitnesse.fixture.RestFixture | http://www.w3school.com.cn || GET | /example/xmle/note.xml | 200 | Content-Type: text/xml | //body[text()="Don't forget the meeting!"]| |
点击Test运行测试:

出现打印结果直接输出html文本的问题。
我希望测试结果是这样的:

请关注后续博客,我将讲解怎样修改RestFixture源代码,并调整junit测试代码:
为Fitnesse-20140630定制RestFixture代码
Fitnesse-20140630与RestFixture-3.1编译与运行步骤的更多相关文章
- Qt creator自定义编译运行步骤
一直用Qt creator开发.无它,只是因为linux下C++ IDE选择不多.同时因为我抛弃了MFC,平时写个小工具还得靠Qt,正好一举两用. 用Qt creator开发一般的工程,是不用修改编译 ...
- 【ARM-Linux开发】【Qt开发】Qt Creator自定义编译运行步骤
原文:http://www.linuxidc.com/Linux/2015-04/115763.htm 一直用Qt Creator开发.无它,只是因为linux下C++ IDE选择不多.同时因为我抛弃 ...
- notepad++编译并运行java (自定义包)
最近用Notepad++写汇编,感觉用起来挺顺手,于是想能不能也在这个优秀的编辑器下编写java并编译运行呢,因为每次启动eclipse都要挺长时间,而且eclipse实在太占内存了... 于是各种百 ...
- 手动编译并运行Java项目的过程
现在Java开发基本上就是IDE调试,如果跨平台打个jar包过去运行一般就可以了,但是有些情况比如需要引入外部依赖的时候,这个时候是不能直接运行的,还需要引入一些外部的参数,并不是简单的javac和j ...
- 如何使用命令行编译以及运行java文件
要想编译和运行java文件,很简单,只需要两个命令: (1) javac:作用:编译java文件:使用方法: javac Hello.java ,如果不出错的话,在与Hello.java 同一目录下会 ...
- zju(3)内核编译与运行
1.实验目的 学习和掌握Linux配置和编译的基本步骤. 二.实验内容 1. 对Linux内核及用户程序进行配置: 2. 编译生成内核映像文件: 3. 把编译的映像文件烧写到FLASH中,查看运行结果 ...
- [JAVA] 一个可以编辑、编译、运行Java简单文件的记事本java实现
本来是Java课做一个仿windows记事本的实验,后来突然脑子一热,结果就给它加了一个编译运行Java文件的功能. 本工程总共大约3000行代码,基本上把所学的java界面.文件.控件的功能都包含在 ...
- .NET程序的编译和运行
程序的编译和运行,总得来说大体是:首先写好的程序是源代码,然后编译器编译为本地机器语言,最后在本地操作系统运行. 下图为传统代码编译运行过程: .NET的编译和运行过程与之类似,首先编写好的源代码,然 ...
- Java程序编译和运行的过程
Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程. 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1.源文件由编译器编译成字节码(ByteCode) 2 ...
随机推荐
- window.open(url, "_black" , spec)
var url = "${request.contextPath}/test/openWindow.action?number="+number; var spec = " ...
- Linux awk小记
预备知识: -F:表示某行使用的分隔符,默认是空格: NR:表示当前是第几行: NF:表示文件中的某行根据分隔符共有几列: 1.打印某一列 awk '{print $1}' text.txt 其中$0 ...
- 【tyvj】P1049 最长不下降子序列
时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数 第二行n个数 输出格式 最长不下降子序列的长度 测 ...
- [cocoapods]cocoapods问题解决
错误1. While executing gem no such name 错误原因:gem 网址被挡住了. 解决办法:设置https://ruby.taobao.org/ 详情参考 http://w ...
- python 类成员函数
http://cowboy.1988.blog.163.com/blog/static/75105798201091141521583/ 这篇文章总结的非常好 主要注意的地方是 1,在类内调用成员函数 ...
- Quartz任务调度快速入门
Quartz任务调度快速入门 概述 了解Quartz体系结构 Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器.任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的 ...
- context:component-scan扫描使用上的容易忽略的use-default-filters
问题 如下方式可以成功扫描到@Controller注解的Bean,不会扫描@Service/@Repository的Bean.正确 <context:component-scan base-pa ...
- C++:用成员初始化列表对数据成员初始化
1.在声明类时,对数据成员的初始化工作一般在构造函数中用赋值语句进行. 例如: class Complex{ private: double real; double imag; public: Co ...
- Java API —— Pattern类
正则表达式 写一个功能实现QQ号码的校验. import java.util.Scanner; public class RegexDemo01 { public static void ma ...
- python写的第一个简单小游戏-猜数字
#Filename:game1.py guess=10 running=True while running: try: answer=int(raw_input('Guess what i thin ...