2015-04-25 36 views
0

我是新來的android測試,並試圖在Android Studio中使用mockito編寫單元測試(在本地jvm上運行)。使用greendao與Mockito測試Android應用程序

我的IDE設置(gradle腳本)到目前爲止已完成。

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 

    // Unit testing dependencies. 
    testCompile 'junit:junit:4.12' 
    testCompile 'org.mockito:mockito-core:1.10.19' 
} 

在我的應用我使用greendao作爲ORM,但沒有這一層,但(計劃在將來)的抽象。 當我嘗試測試其使用的數據庫相關類的我的應用程序代碼的部件(例如SqliteOpenHelperSqliteDatabase設立數據庫,SQLiteStatement編制報表等)SQLiteOpenHelper輕慢不得測試退出時的異常,例如。

在這個場景中編寫單元測試是否有可能模擬數據庫(現在沒有時間抽象數據庫層)?

回答

0

問題是得到正確的Context初始化數據庫層。 使用robolectric,您可以使用RuntimeEnvironment.application在測試環境中獲得Context對象,因此使用單元測試初始化​​數據庫層將在本地JVM上運行,而無需任何設備或模擬器。

+0

我仍然不確定您的關鍵字是什麼意思是「RuntimeEnvironment.application」 – vodkhang

+0

對於令人困惑的答案抱歉,我編輯了我的解決方案。 – Dokumans