1 Fitnesse简介
Fitnesse是一款开源的验收测试框架,完全有java语言编写完成,支持多语言软件产品的测试,包括(java,c,c++,python,php),在Fitnesse框架中,总共包括三个部分,Wiki,Test system,Fixtures。其中Wiki部分将展现具体的Test case以及Test suite甚至是Test Requirement,Test system包括两部分Slim,Fit,也就是Fitnesse的执行引擎,Fixtures也就是真正的测试代码。
在Wiki pages上描述的是关于业务逻辑的测试用例,Fitnesse将会根据你所选择的Test System(slim或者fit)来解析Wiki pages所传送过来的Test cases, 假如我们选择了slim作为我们的test system,那么slim runners将会把网络传输过来的Wiki 脚本转换为一系列的指令,然后slim executer将会解析并执行这些指令来调用我们所编写的测试代码也就是Fixtures code,fixtures可以是java语言测试代码,C语言测试代码或者其他语言编写的测试代码,测试代码将会调用被测对象来执行测试用例。同理当你选择fit作为Test runner的话过程也是一样,只是fit在解析wiki脚本的时候与slim不一样,fit会将wiki page作为html页面,然后通过解析html页面来调用后台的测试代码来执行测试用例,相对于slim性能上较差。另外在使用fit的时候设计测试代码也必须继承fit的类来进行编写,相对slim测试代码编写相对受限。
Fitnesse具体架构图如下所示:
2 Fitnesse 官方网站及下载
下载地址:http://www.fitnesse.org/FitNesseDownload
3 Fitnesse安装
安装环境:Java 1.4以上环境支持(注意设置系统环境变量),linux下注意JDK的配置,apache ant以及 crap4j及eclipse的支持 (linxu版本不同,具体的安装配置不同)
1 在http://fitnesse.org/FitNesse.DownLoad下载安装文件
2 将此.jar文件移动到安装目录下
3 从终端进入到fitnesse这个文件夹里(必须),执行java -jar fitnesse.jar
Fitnesse默认的web端口是80,如果所在的机器80端口没有被别的程序使用,基本可以启动起来,否则会出现如下的提示信息:
[root fitnesse]$ java -jar fitnesse.jar
FitNesse cannot be started...
Port 80 is already in use.
Use the -p <port#> command line argument to use a different port.
用-p 指定别的端口,比如8080.
[root fitnesse]$ java -jar fitnesse.jar -p 8888
FitNesse (20050731) Started...
port: 8888
root page: fitnesse.wiki.FileSystemPage at ./FitNesseRoot
logger: none
authenticator: fitnesse.authentication.PromiscuousAuthenticator
html page factory: fitnesse.html.HtmlPageFactory
page version expiration set to 14 days.
访问http://localhos:8888,或http://ip:port,浏览并使用Fitnesse了。