Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android測試教程(6):測試Activity

Android測試教程(6):測試Activity

編輯:Android開發教程

Activity的測試非常依賴於Android的Instrumation 框架,和Android其他組件不同的是,Activity具有復雜的生命周期回調 函數(如onCreate, onStart 等) ,通常情況下除通過Instrumation 接口外不能直接調用這些回調函數。

測試Activity的基本測試類為InstrumentationTestCase,它提供了Instrumentation接口給TestCase的子類。 為了支持 Activity測試,InstrumentationTestCase提供了下面功能:

生命周期控制: 使用Instrumentation,你可以啟動,暫停,中止被測試的Activity。

Dependency Injection : Instrumentation允許創建一些Mock對象如Context,Application來幫助測試Activity,從而幫助 你控制測試環境並和實際的應用的其他部分隔離開來。你也可以定制一些Intent以啟動Activity。

用戶界面交互: 你可以使用Instrumentation向UI發送按鍵和觸摸事件。

下面幾個為主要的用於測試Activity由TestCase派生而來的測試類:

ActivityInstrumentationTestCase2 通常用於多個Activity的功能測試,它使用正常的系統框架來運行Activity(使用應用 程序本身),並使用正常系統Context (非Mock)來測試Activity的功能。 允許你創建一些Mock Intent 用來測試Activity的響 應。要注意的是,這種TestCase不允許使用Mock的Context和Application對象測試,也就是說你必須使用和應用程序實際運行的 環境來測試。

ActivityUnitTestCase 通常用來測試單獨Activity。在啟動被測試的Activity之前,你可以Inject一個假的Context或是 Application ,使用這個Mock的Context中一個隔離環境中運行被測試的Activity。通常用於Activity的單元測試,而不和 Anroid系統進行交互。

SingleLaunchActivityTestCase 用於測試單個Activity,和ActivityUnitTestCase不同的是,它只運行setUp 和tearDown 一次,而不是在運行testCase 中每個Test Method前後運行setup 和tearDown ,它可以保證運行多個測試之間fixture 不會被 重置,從而可以用來測試一些有關聯的方法。

本篇和後面幾篇介紹Activity,Service,Content Provider 測試的基本概念和相關類,之後則結合ApiDemo->Tests 為 例具體介紹這些類的用法。

查看全套教程:http://www.bianceng.cn/OS/extra/201301/35252.htm

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved