配置Ruby腳本以產(chǎn)生測試報(bào)告
由于昨天接到的Ruby腳本是用rake(據(jù)柱石說是類似java的ant)來運(yùn)行測試的,我在本地跑了很多次也沒找到它在測試運(yùn)行完成后,是怎樣處理測試報(bào)告的……,因?yàn)槲覈L試過N多方式去讓腳本產(chǎn)生測試報(bào)告。后在Hudson的一個(gè)mailing list中找到的解決方案:使用ci_reporter自動將Ruby的測試報(bào)告轉(zhuǎn)換成Junit風(fēng)格的xml文件,然后Hudson可以直接讀取Junit風(fēng)格的xml文件,展示和記錄測試結(jié)果,具體做法如下:
1. 安裝ci_reporter:gem install ci_reporter
2. 修改Rakefile,增加以下幾行
require ‘rubygems’
gem ‘ci_reporter’
require ‘ci/reporter/rake/test_unit’
3. 接下來可以通過ci_reporter來生成Junit風(fēng)格的xml報(bào)告文件了,在運(yùn)行rake命令的時(shí)候稍作修改即可:
rake ci:setup:testunit test
缺省情況下,會在test/reports目錄下生成符合Junit風(fēng)格的報(bào)告文件。
新建Hudson job 運(yùn)行腳本
上一節(jié)已經(jīng)找到了合適的方式Hudson上是用job來管理要運(yùn)行的項(xiàng)目(對于測試來說,可以理解為測試工程)的,同樣,作為一個(gè)Ruby的自動化測試,同樣也會有工程或者項(xiàng)目的的概念,我們需要在Hudson中新建一個(gè)Job來對應(yīng)我們要運(yùn)行的Ruby工程,配置很簡單跟普通的java項(xiàng)目配置基本一樣,但是有幾點(diǎn)需要注意:
1. 需要綁定這個(gè)任務(wù)到我們剛剛配置的client,因?yàn)槿绻唤壎ǖ脑挘琀udson會根據(jù)機(jī)器的負(fù)載情況自動分配當(dāng)前的任務(wù)到某個(gè)client或者master上,如果被分配到Linux的機(jī)器上,則腳本不能調(diào)用Win32程序來完成界面測試,具體做法如下:
在任務(wù)配置界面中,在如上圖所示的下拉框中,選中剛剛已經(jīng)配置好的client名稱“GUI-TEST-NODE”
2. 要運(yùn)行ruby腳本,使用的rake命令,因此這里我們需要將這個(gè)命令配置好,同時(shí)由于我們使用了ci_reporter,所以如上一節(jié)一樣,我們稍微修改一下命令
rake ci:setup:testunit test –trace