Android 測試框架(Junit、Mockito、Robolectric、Espresso)

前言

本文基於 github 項目 Ninja2005/AndroidTestandroid

測試是Android開發過程當中的重要組成部分,經過對APP進行持續的運行測試,你能夠在發佈以前驗證程序的正確性、功能和可用性。git

測試金字塔

三類測試:Unit tests、Integration tests和UI testsgithub

Unit Tests(單元測試)

單元測試,包含兩種類型:Local tests、Instrumented tests數據庫

  • Instrumented tests(儀器測試)網絡

    1. 指定測試運行器 @RunWith(AndroidJUnit4.class)框架

    2. 指定測試的運行時長以及運行頻率工具

      @SmallTest 不容許文件文件、數據庫、網絡。運行時間200ms單元測試

      @MediumTest 訪問文件、數據庫。運行時間1000ms測試

      @LargeTest 訪問文件、數據庫、網絡,大多數的UI測試。運行時間1000ms3d

  • 測試框架

    本項目用到的4種框架:Junit、Mockito、Robolectric、Espresso

  • Junit

    JUnit4是一個Java語言的單元測試框架。

  • Mockito

    Mockito是一個mock框架,經過Mockito來mock出其餘的依賴對象,用來替換真實的對象,使得待測的目標方法被隔離起來,避免一些外界因素的影響和依賴。

  • Robolectric

    Robolectric是三方開源的單元測試框架,經過實現一套JVM能運行的Android代碼,而後在unit test運行的時候去截取android相關的代碼調用,而後轉到本身實現的代碼去執行這個調用的過程。 運行器:@RunWith(RobolectricTestRunner.class)

  • Espresso

    Espresso是Google開源,白盒風格的UI測試工具,運行基於 SDK。 運行器:@RunWith(AndroidJUnit4.class)

相關文章
相關標籤/搜索