July 19 15:23~17:35
Teddy在這一集介紹如何在Eclipse裡面使用Cucumber-JVM,為了避免混淆,Teddy再強調一下:Cucumber是用Ruby開發的BDD工具,Cucumber-JVM是用Java開發的「Cucumber山寨版」。使用Cucumber-JVM不需要安裝Ruby,只需要下載幾個jar檔並設定到Java的classpath即可。
在Eclipse裡面使用Cucumber-JVM有好幾種方法,理想上如果有人幫Cucumber-JVM開發Eclipse plug-in的話,那安裝plug-in會是最簡單的方法。但是Teddy稍微找了一下,目前似乎沒有很好的Cucumber-JVM plug-in,所以暫時先排除這種方式。如果熟Maven或是Ivy的鄉民們,可以用Maven或是Ivy來管理Cucumber-JVM所需要的jar檔。下圖是Maven的pom.xml檔案範例,把這個檔案放在Eclipse裡面,
並把Maven Dependencies加到Eclipse的Java Build Path裡面就可以了。
***
在這裡Teddy要介紹最簡單的「老師傅手工打造」方法,自己下載所需要的jar。要執行最基本的Cucumber-JVM功能,需要五個jar檔,目前Teddy使用的檔案版本如下 :
- cucumber-java-1.1.3.jar
- cucumber-core-1.1.3.jar
- cucumber-junit-1.1.3.jar
- junit-4.1.1.jar
- hamcrest-core-1.3.jar
用這些檔名當「祭品」拜一下Google大神,就會找到可以下載的連結。下載完畢之後在Eclipse新增一個Java Project,然後建一個libs目錄,把這五個jar檔複製到libs目錄中。
完成之後把這個五個jar檔加入Eclipse的Java Build Path。
基本上這樣就完成了,看一下Teddy在《BDD(2):大家來吃小黃瓜之Cucumber運作原理》所舉的範例專案目錄結構。
***
雖然環境設定好之後就可以開始體驗BDD,但是目前Teddy還沒找到支援Cucumber-JVM的好用plug-in。用最陽春的方式開發,有一些不太方便的地方。例如,如下圖所示,執行驗收測試案例之後(.feature檔案裡面的scenario),在JUnit視窗中,無法直接double-click某一個step就跳到相對應的step definition程式碼裡面。
Double-click JUnit視窗中的項目會出現以下錯誤訊息。
另外,編輯.feature檔案的時候,沒辦法直接跳到相對應的step definition程式碼。
同樣地,在step definition程式碼中也無法跳到.feature檔案中相對應的step。
***
今天的範例程式可以在「搞笑談軟工Facebook社團」中下載,檔名是Teddysoft-CucumberTest-V1.jar。
***
友藏內心獨白:若有好用的Cucumber-JVM plug-in請介紹一下。
Teddy 兄您好:
回覆刪除最近剛好也在吃小黃瓜 XD,試用了幾個 plugin
覺得 Roberto Lo Giacco 寫的 Natural 是目前支援最好的
https://github.com/rlogiacco/Natural/wiki
除了 Cucumber 以外,它也有支援 JBehave
安裝方式很簡單,新增官方 Update Site
http://rlogiacco.github.com/Natural
選擇 Cucumber 那個套件,確認安全警告,重啟即可
編輯器支援:
1. Gherkin 語法高亮(但不支援 i18n 版,我個人是 prefer 關鍵字仍用英文,故不影響)
2. 自動完成(比較囧的是,叫出自動完成的快捷鍵是 Ctrl+Space 恰恰是中文輸入法,我自己是把輸入法的改掉)
3. 從 feature Ctrl+單擊滑鼠左鍵可跳到 step def 的方法
4. 即時驗證語法,檢查是否定義 step def 等
5. 還有其它功能請見上述 Wiki
非常推薦試用看看
因為 Cucumber 的中文資料不多,Google 大多會搜到您的文章
想說分享在這裡,也可讓更多網友知曉:)
Hi Cheng-Wei,
刪除謝謝您熱心推薦,有時間再來試看看。