FitNesse
安装与编译
loardo
2007/4/4
一,
Fitnesse
简介
什么是
fitnesse,Fitnesse
是软件协作开发工具。
Fitnesse
容许客户,测试员,还有程序员知道他们的软件是干什么的,
FITNesse是一个基于FIT的测试环境
。
Fitnesse
是一个
wiki
它是一个
wiki,
你可以直接创建和修改页面
Fitnesse
是一个
web
服务器
不需要配制文件,只要启动它然后直接浏览它就可以了
二,安装和
build Fitnesse
,
有两种
Fitnesse
文件,一种是
build
好的
fitnesse.jar
安装文件包,一种是没有
build
的
fitnesse
源代码。
首先介绍第一种文件包的安装
,
这种安装比较简单,容易。缺点是
fixture
不能扩展。
1
.到 http://fitnesse.org/FitNesse.DownLoad下载安装文件比如,fitnesse2005.zip,
2.Unzip这个文件,然后自动创建了一个文件夹fitnesse, 里面有如下的几个文件。
FitNesseRoot,README.txt dotnet,license.txt,fitnesse.jar,run.bat,run.sh
3.到fitnesse这个文件夹里,double-click run.bat这个文件,如果是linux下的时候。执行run.sh这个shell脚本。
Fitnesse默认的web端口是80,如果你所在的机器80端口没有被别的程序使用,基本可以启动起来,否则会出现如下的提示信息:
[sean@localhost fitnesse]$ . run.sh
FitNesse cannot be started...
Port 80 is already in use.
Use the -p <port#> command line argument to use a different port.
用-p 指定别的端口,比如8080.
[sean@localhost fitnesse]$ . run.sh -p 8080
FitNesse (20050731) Started...
port: 8080
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:808
,或则
http://ip:port,
浏览并使用
fitnesse
了
.
详细介绍第二种安装方法,你需要一个
fitnesse
的
source code,
自己
build
一个
fitnesse.jar
文件,然后启动,我比较倾向于这种安装方式,因为这样搭建的
build
环境有助于开发人员对
case test fixture
的扩展。最后有一个例子对如何添加一个
case fixture
做一个简单的介绍
.
1,
下载一个
fitnesse
的
source
文件。比如
fitnesse2005_src.zip.
2
.
Unzip
这个文件,会生成一个
fitnesse
文件夹,里面有如下的文件
Dotnet,extra,lib,src,build.xml BUILD_README
3.
因为这个文件夹里有
build.xml
但是没有提供
ant
文件。如果机器没有
ant
的。还要下载一个
apache ant,
然后设置好
ANT_HOME
的路径
.
自己写一个
build.sh,
内容如下
:
bash $ANT_HOME/bin/ant $1
|
如果是再
windows
环境下要写
bat
文件,内容如下
:
@echo off
echo Building Fitnesse with ant...
%ANT_HOME%/bin/ant %1
|
写好
build
文件以后,就可以执行它了。
[sean@localhost fitnesse]$ . build.sh build
Build
结束以后回在
fitnesse
文件下生成一个
classes
文件夹,如果执行带参数
jar build,
还有一个
fit.jar
文件,这个文件是在
extra
里面的。我们可以修改
build.xml,
让
fitnesse.jar
文件在
fitnesse
的文件夹里生成,这样对启动
fitnesse
的时候很方面
,
不需要每次
build
完以后复制
finesse.jar
到
fitnesse
的
root
目录下。只需要修改一下
build.xml,
修改如下:
<target name="jars" depends="build">
<jar destfile="fitnesse.jar" basedir="${classes}" />
</target>
然后在执行
build.sh
[sean@localhost fitnesse]$ . build.sh jars
如果成功以后,会有一个
fitnesse.jar.
4
.启动
fitnesse
在
fitnesse
这个目录下缺少了一个FitNesseRoot文件,这个文件里保存了Fitnesse页面的基本结构和框架,还有fitnesse提供的test case table页面.所有这些的test case的fixture都在fitnesse.jar里,所以我们需要copy一份FitNesseRoot文件到这里。然后在启动
在
linux
下面可以直接用
command
命令启动,
[sean@localhost fitnesse]$ java -cp fitnesse.jar fitnesse.FitNesse –p 8080
但是我们可以有更好的,写一个
run.sh
文件。内容如下
:
#!/bin/sh
java -cp fitnesse.jar fitnesse.FitNesse $1 $2 $3 $4 $5
|
启动成功以后,就可以登陆到这
web server
上了。比如
fitnesse
在
172.16.200.59
的
8080
端口上启动
.
直接
http://172.16.200.59:8080
,就可以使用
Fitnesse Wik
了
windows
启动方法,需要写一个
run.bat
文件,然后双击。
Run.bat
的内容和
linux
的
run.sh
内容基本一样。
三,开发
fitnesse
测试工具。
如何开发一个测试工具。比如在
wiki
上建立一个
table
Staftest.Casetest
|
Xml File
|
Result?
|
/root/sean/testLocalPing.xml
|
true
|
The table
要测试的
case
是,用
stax
对执行
/root/sean/testLocalPing.xml
文件
,
结果期望是
true.
完成这样的一个
case,
我们必须按照
staftest.casetest
建立
java class
文件。也就是说这个
case
的
fixture
文件必须在
staftest
目录下。所以必须在
src
目录下建立一个
staftest
这个目录。编写一个
casetest.java,
这个
java
程序文件定义了如何处理这个
table.
这个
casetest.java
的
package
必须是
staftest.
写好这个
java
文件一个
,
保存
,
退出到
fitnesse
目录,执行
[sean@localhost fitnesse]$ . build.sh jars,
不需要修改
build.xml
就可以把这个
fixture build
到
fitnesse.jar
里面了
.
然后重新启动
fitnesse
在建立这个
table
的页面左方点
test
,就可以看到这个
case
所执行的结果了。
四,结束
fitnesse是如何处理table的HTML格式的.这个话题我会留到下一篇文章里,
<<Fit的Fixture详解>>.