不了解BDD是什麼的朋友可以參考這篇,以前分享測試的時候有提到過
這篇的脈絡是我想用Cucumber來驅動測試,透過Espresso + UI Automator + Mockito來做Client端的整合測試,定義的feature可以讓iOS拿去寫測試,又可以讓PM或是QA有個參考,更讓未來維護的人知道功能的脈絡。
官方的專案是OK的可以跑,但要用在自己的專案上,要設定什麼就很難看出重點在哪裡了,所以導入花了一點時間,剛好可以記錄一下。
在app的gradle中加入依賴
androidTestImplementation 'io.cucumber:cucumber-android:4.3.1'
在專案的package name(例如:com.example)底下新增一個test(例如:com.example.test)以上是指在androidTest底下,把官方範例中的CukeulatorAndroidJUnitRunner放在test裏,在app的gradle中加入
testApplicationId "com.example.test"
testInstrumentationRunner 'com.example.test.CukeulatorAndroidJUnitRunner'
features放在androidTest/assets/features底下
記得去安裝plugin
features檔的關鍵字也可以用中文寫
執行測試透過gradle執行connectedCheck
如果實做行為的step檔想要另外放,如各自的package底下,要在CukeulatorAndroidJUnitRunner中加入glue設定,例如
@CucumberOptions(
features = {"features"},
strict = true,
glue = {"com.example"})
public class CukeulatorAndroidJUnitRunner extends CucumberAndroidJUnitRunner
最後希望你帶走知識的同時,也能留下一兩句的心得與我們分享
留言
張貼留言
有什麼想法歡迎跟我們分享