2010/2/6

深入淺出 Cucumber - 新手入門

如何準備環境並安裝 Cucumber

1. 安裝 ruby 1.8.6 for Windows
2. 手動安裝 RubyGems 最新版 [here] (執行 setup.rb)
3. 在命令列下: gem update --system
4. 在命令列下: gem install cucumber
5. 在命令列下: gem install watir  (用來操作 IE 瀏覽器的 library)

請參考下圖建立簡單的 Cucumber project 資料夾:


  • 在 search.feature 中,寫的就是純文字的測試個案或是 Use Case ( *.feature)。
  • 而在 step_definitions 中,則是跟 features 相對應的測試步驟 ( *.rb )。
  • 而 support\ 資料夾,則是用來放 env.rb,記錄一些環境設定。
如有需要可以參考 gugod 提供的範例:http://gist.github.com/90615

至於前面的步驟為什麼會需要安裝 Watir 呢? 是因為 Cucumber 其實只提供需求描述 (測試個案) 與測試程式之間的對應,但實際測試程式要做些什麼,則完全交由我們決定,那我們所安裝的 Watir,就是要用來操作瀏覽器實際執行測試的工具。

實際上跟 Watir 類似的工具還有很多, 例如 WebRat (Ben Mabey 推薦的) 跟 Celerity。

關於使用 Watir 來操作瀏覽器的語法,剛開始不熟的話,是不會知道 Watir 有哪些語法可用。所以剛開始我都會先用 Watir Recorder 來錄製現成的程式 scripts,再從中學到常用的語法像是點選網頁上的按鈕或是在欄位輸入字串或數字。

另外提醒一下測試程式撰寫的方式,在 Ben Mabey 的簡報 [Outside-In Development with Cucumber] 也有提到,測試的程式應該著重在驗證結果正確與否,而不應該在測試程式中描述或提及程式如何實作 (Specify outcome, not implementation.) 。舉例來說,測試程式不是寫說 Controller 接到 request 後應該執行什麼動作並且執行什麼邏輯,然後再把什麼結果呈現在頁面上。而要寫的是輸入什麼值,按下網頁某個按鈕後,頁面上應該會出現什麼結果,並且驗證結果是正確的。

回到 Cucumber 該如何運用,其實就如 [第一篇文章] 所介紹的,按照基本的五個步驟持續執行就可以了。但是重點除了持之以恆的執行,主要還是要跟開發的流程做搭配,不然只會感覺格格不入,而不能真正享受到 BDD (Behavior Driven Design) 的好處。


0 comments:

張貼意見