Tesly Jr.

by winson, about 1 year ago.

Ruby on Rails在測試這一塊領域可說相當完整,在架構面有三種不同環境的設計,加上超方便的單元測試、功能測試、整合測試,搭配自動測試ZenTest、瀏覽器體驗測試Watir、連續整合CruiseControl.rb,當然還有最棒的RSpec,整體而言相當精巧、方便、簡單且務實。

如果要問還有沒有可以改進的空間,當然有,而且又是免費的Open Source。

當專案規模大或是同時進行多個專案的時候,一定需要整體性的報表,需要一份可以立即掌控整個測試狀況的報表。Tesly Jr.所提供的就是這種性質的免費服務,它本身也是用Ruby on Rails寫的Open Source軟體,所以你可以下載回去裝在自己家裡,或者也可以直接使用它所提供的免費服務,甚至也有需要付費的進階服務。

它的使用觀念是利用外掛將測試結果上傳,這樣一來就有整體報表。

如果是直接使用Tesly Jr.所提供的免費服務的話,步驟相當簡單:

1.到這裡登記帳號。

2.下載Plugin

3.解開放到Rails Project的vender/plugin目錄下。

4.修改vender/plugin/tesly_reporter/lib/tesly_reporter.rb檔案,讓它知道這是哪個專案、哪個帳號。例如:

module TeslyReporter
  class Config
    cattr_accessor :app_name, :user

    @@app_name = 'My Money' # provide your application name.
    @@user = 'ac2fdxxxxxxx' # provide your user number.
  end
end
無論你有幾個Project,只要填入同一個User number都會將測試結果可以上傳到同一帳號,相當方便。

5.跑rake test。是的,沒有其他指令,就是平常常用的rake test而已。

如果設定沒錯的話,跑完rake test之後,就可以立刻進你的帳號看測試報表。

這是Project頁面,可以一目了然目前所有專案測試的狀況,例如它說我目前總共有兩個Projects、23個Test Plans、202個Test Cases。

每個專案旁邊的Status刻度代表目前的測試進度,下方則顯示失敗的Test Case。

每個專案都可以再點進去看更細部的Test Plan以及Test Case測試狀況。它會自動抓到你有寫Test Case的物件名稱以及Test Case名稱,然後一起顯示出來。例如: Test Plans:
Test Cases:
如果要看歷次的測試結果,可以看Test Runs頁面:
唯一美中不足的是,好像只能夠跑rake test上傳測試結果,對於用慣autotest的人來說,特地去跑這種冗長的測試真是要命。

所以rake test應該要由另一台主機定期去跑才對,每個程式員自己只要負責跑autotest就好,要是以後CruiseControl.rb可以把Tesly Jr.整合起來,在寄發通知的時候一起把相關報表寄出去,那真是太理想了。


  • Posted in Testing, on Friday, June 08, 2007, at 10:19 PM.