Android單元測試之二:本地測試

Android單元測試之二:本地測試

本地測試

  本地測試( Local tests):只在本地機器 JVM 上運行,以最小化執行時間,這種單元測試不依賴於 Android 框架,或者即使有依賴,也很方便使用模擬框架來模擬依賴,以達到隔離 Android 依賴的目的,模擬框架如 google 推薦的 Mockito 。

如何進行本地測試

添加依賴

dependencies {
...
    implementation 'com.android.support:appcompat-v7:26.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestCompile 'com.android.support:support-annotations:26.1.0'
...
}

測試代碼存放的位置

app/src
   |-- androidTest/java(儀器化單元測試、 UI 測試)
   |-- main/java(業務代碼)
   |-- test/java(本地單元測試)

測試

  可以自己手動在相應目錄創建測試類, AS 也提供了一種快捷方式:選擇對應的類 -> 將光標停留在類名上 -> 按下 ALT + ENTER -> 在彈出的彈窗中選擇 Create Test 。

  選擇 Create Test 選項之後,彈出下面框:

  • Testing library: 測試庫
  • Class Name: 測試類名
  • Superclass:超類
  • Destination package:指定包
  • Generate:setUp/@Before:會生成一個帶 @Before 註解的 setUp() 空方法; tearDown/@After 則會生成一個帶 @After 的空方法。
  • Generate test methods for:選擇下面框中需要測試的方法。Show inherited methods:是否顯示繼承的方法。

  我這邊只勾選了isJudgeSysmbol(userAnswer:String,correctAnswer:String)方法測試,剩下的選項都沒有修改,點擊了OK。
  在測試文件夾中就能看到測試類了:

  圖片左側的兩個綠色圖標在測試類寫好之後就能點擊運行測試。
  測試通過.如圖在 isJudgeSysmbol 中寫入參數和正確的返回結果,測試結果通過。

  測試未通過.如圖在 isJudgeSysmbol 中寫入參數和不正確的返回結果,測試結果未通過。

總結

  本地測試比較適合一些工具類測試,不需要使用任何 Android 系統的東西,只適用於測試公共方法,比如字符處理,數據整理等這些方法。

參考文章

https://www.jianshu.com/p/aa51a3e007e2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章