編輯: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
當執行某些正在處理的任務時,ProgressBar提供了一個可視化的反饋。例如,你在從web服務器下載數據 ,然後需要更新下載的狀態。在這種情況下,ProgressBar
Activity生命周期:一個activity主要有三個狀態:當在屏幕前台時(位於當前任務堆棧的頂部),它是活躍或運行的狀態。它就是相應用戶操作的activity。當它失
除了可以在運行時去創建並使用文件,也可以在設計階段把文件放在程序包中,這樣一來就可以在運行時 去使用他們。舉個例子,你想把一些幫助文件打包進程序,當用戶需要的時候,就可以
構建移動應用程序和構建 Web 應用程序一樣,要時刻牢記最終目標(和用戶)。始終了解您的應用程序可 以給用戶帶來哪些利益。您的應用程序將顯示哪些類型的信息,擁有哪些功能