安卓unit與instrumentation測試教程

來源:互聯網
上載者:User

標籤:

為什麼Andr??oid應用的測試很重要?

Android裝置記憶體,CPU和電池都有限。應用的行為也外部因素有關,如串連性、系統利用等。因此調試、測試和最佳化Android應用非常重要。

Android的測試不可能覆蓋所有Android裝置,通常只覆蓋典型裝置。確保應用至少覆蓋儘可能低的配置裝置上使用和儘可能高的配置裝置,例如像素密度、螢幕解析度等。

2015年Android應用程的工具和架構的支援有巨大的改善。Android測試系統已經更新到基於JUnit4中,你可以在Java虛擬機器或在Android運行時運行單元測試。此外Google推出了一款名為Espresso的使用者介面測試架構。

 

Android自動化測試

Android應用的測試內容一般來說應該專註於測試應用的商務邏輯。建議:

  • 70-80%的單元測試以確保您的代碼的穩定性
  • 20-30%的功能測試確保應用能運作
  • 有互動的情況下還需要考慮跨應用測試

 

Android單元和instrumentation單元測試

Android的單元測試是基於JUnit的。可分為:

  • 本地單元測試 - 可以在JVM上運行測試(速度快,優先考慮)。
  • Instrumented單元測試 - 需要Android系統

Android的Gradle外掛程式支援在JVM上執行Andr??oid單元測試。它使用特殊版本的android.jar(也稱為 Android mockable jar)支援單元測試,使所有欄位,方法和類可用。任何調用到Android mockable JAR預設都是異常。快速但是不能測試安卓相關內容。Instrumented可測試Android API。

工程結構和測試檔案夾

建議:

    app/src/main/java - 原始碼

    app/src/test/java - 本地測試

    app/src/androidTest/java - Instrumented單元測試

 如果你這些約定,Android構建系統會自動在JVM上運行單元測試、在Android裝置上運行安卓測試。

 

執行測試

指定測試類型:

 

查看測試執行:

如果看到"error duplicate files in path. Path in archive: LICENSE.txt"錯誤,修改app/gradle.build

android {    packagingOptions {    exclude ‘LICENSE.txt‘    }} 

 

 JVM單元測試

 

 

參考資料:http://www.sunmoonblog.com/blog/2015/06/10/android-testing/

 

安卓unit與instrumentation測試教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.