2014-10-22 94 views

回答

0

通常應在目標設備上運行良好的測試。這就是爲什麼我的答案是:是的,你應該繼續使用它。如果你在模擬器或類似的東西上測試,可能會有一些小的差異,會導致與真實設備不同的行爲(特別是如果你使用某些硬件組件)。 如果您使用真實設備,測試運行速度快於仿真器的副作用。

0

我的替代看起來是這樣的:

我已經重構我的Android應用到

  • 應用程序(使用庫GUI),
  • Android的獨立的-LIB(服務接口,dto- s,沒有數據庫綁定的businesslogic)
  • android-dependent-lib(android特有的服務接口和數據庫綁定實現)

爲android-independant-lib我已經創建了「正常」junit測試

爲Android特定的部分我目前沒有自動測試。

+0

看起來很有趣,但有時我們應該測試組件的UI或生命週期。 – handrenliang 2014-10-22 09:18:26

0

您正在尋找Robolectric

Robolectric是一個單元測試框架,它可以消除Android SDK jar,因此您可以測試驅動Android應用程序的開發。測試在幾秒鐘內在工作站上的JVM內部運行。

尚未完成(例如支持庫操作欄不受支持),但它會爲您節省大量時間。除此之外,你可以通過自己開發shadows來添加缺少的內容。

+0

該項目託管在https://github.com/robolectric/robolectric,而不是您指出的地方。棄用的是由Robolectric的作者之一寫的一些Gradle插件,但不是Robolectric本身。 – 2014-10-28 05:03:51

+0

感謝您的更正。我刪除了關於[depricated roboelectric-gradle-plugin]的原始錯誤評論(https://github.com/JakeWharton/gradle-android-test-plugin)。是否有任何非缺陷的機電插件? – k3b 2014-10-28 07:34:44

+0

在maven上,沒有Robolectric插件這樣的東西。 Robolectric是一個用於編寫JUnit測試的庫,由諸如surefire等插件執行。我想它在Gradle上是相似的。 – 2014-10-28 08:51:19

相關問題