Jan. 26 13:00~15:55
緣起
2013年8月寫了5篇介紹BDD觀念以及如何在Eclipse使用Cucumber(一種常用的BDD實作工具)的文章(請參考文末的延伸閱讀),時至2017年最近再試了一下Eclipse外掛程式對於Cucumber的支援,依舊是有點「弱弱的」。昨天試了一下IntelliJ IDEA發現它的整合稍微好一些,今、明兩天將之前在Eclipse裡面寫的範例搬到IntelliJ IDEA上,看看如何寫一個最簡單的Cucumber範例。
***
安裝IntelliJ IDEA
IntelliJ IDEA是一個商業軟體,可以開發Java還有其他許多JVM上的程式語言。雖然它的完整版本是需要付費購買,不過IntelliJ IDEA也提供免費的Community版本,用來開發一般Java應用程式綽綽有餘。
▼免費版與付費版的差別,節錄自IntelliJ IDEA官網
下載安裝程式之後一直按下一步完成安裝程序。
***
新增專案
▼安裝完畢之後選取Create New Project。
▼在左邊選單選擇Java,按Next
▼選取Create project from template,按Next
▼專案名稱輸入CucumberTest,按Next
▼完成之後產生一個簡單的文字模式的Java程式。
***
加入Maven支援
▼這個專案要使用Maven來管理相依性元件,也就是讓Maven幫我們把等一下會使用到的Cucumber元件全部下載下來。剛剛產生的陽春專案還不支援Maven,在專案按滑鼠右鍵,從跳出選單中選擇Add Framework Support…
▼選擇Maven,按OK。
▼專案目錄多了一個pom.xml檔案,待會要把使用到的外部元件加入到這個檔案中。
***
設定相依元件
▼使用Maven一個常見的問題就是:「我怎麼知道要怎麼設定相依元件?」以本文為例,會使用到Cucumber和JUnit,直接到Google搜尋:「maven repository cucumber」,點選第一筆資料。
▼出現一個非常壯觀的列表,點選最新的1.2.5版。
▼把Maven相依性設定方式複製到pom.xml檔案就完成了Cucumber的設定。
▼接著在Mavan網站中搜尋cucumber,看看還有沒有什麼遺漏的相依性沒有加入。
▼找到7筆資料,第一個Cucumber JVM: JUnit會用到,點進去看看。
▼一樣點選最新的1.2.5版。
▼這個Maven相依性設定也要複製到pom.xml檔案。
▼最後尋找JUnit相依性設定,找到最新的版本是JUnit 4.12。
▼回到IntelliJ IDEA,打開pom.xml檔案,輸入<dependencies></dependencies> tag,把剛剛那三個元件的相依性設定複製到這個tag裡面就完成了相依元件設定。
***
安裝IntelliJ IDEA的Cucumber外掛程式
▼設定好Maven的相依元件之後準備開始使用Cucumber撰寫第一個feature檔案。先在test目錄建立一個features子目錄。
▼然後在features目錄中新增一個hello_world.feature檔案。
▼點開hello_world.feature出現下列訊息,因為IntelliJ IDEA不知道怎麼處理.feature檔案,需要幫IntelliJ IDEA安裝可以處理這種副檔名的外掛程式。
▼點選IntelliJ IDEA—>Perferences…
▼選擇Plugins
▼搜尋cucumber,沒找到任何已安裝的cucumber plugins。沒關係,點選Search in repositories。
▼選擇Cucumber for Java,按下Install。
▼按下Yes。
▼安裝好之後要重開IntelliJ IDEA。
▼裝好後現在Plugins出現兩個和cucumber有關的外掛,終於可以開工了。
▼hello_world.feature右方會出現綠色的小圖示,代表IntelliJ IDEA現在認得.feature檔案。
***
「工欲善其事,必先利其器」。雖然前面安裝與設定步驟看起來有點多,但實際上操作不會花太多時間,有興趣的鄉民可以自行操作一次。下一集繼續說明如何撰寫feature、step definition,以及如何跑Cucumber測試案例。
***
友藏內心獨白:設定通常會搞掉很多時間。
延伸閱讀
沒有留言:
張貼留言