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了。