Android上的單元測試_第1頁
Android上的單元測試_第2頁
Android上的單元測試_第3頁
Android上的單元測試_第4頁
Android上的單元測試_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Android上的單元測試上的單元測試Junit簡介 在 Java下做單元測試的必用工具 提供了一整套單元測試的框架 測試用例的管理(TestSuite)。 測試代碼的編寫(TestCase)。 測試的環(huán)境的建立(setUp、tearDown)。 測試結(jié)果的判定(assert)。在Android下能使用JUnit? Android提供了junit.framework包 只測試一些和android無關(guān)的東西,如業(yè)務(wù)邏輯、數(shù)據(jù)封裝、數(shù)值計(jì)算,可使用Junit。 要將classpath選項(xiàng)里的android library改成jre,并且添加junit.jar。 測試關(guān)于Android系統(tǒng)中的API

2、,如Activity界面、單擊界面上的按鈕、選擇菜單等不能使用測試Activity需要些什么? 創(chuàng)建Activity并控制Activity的生命周期 提供同步的能力,因?yàn)锳ctivity的創(chuàng)建是異步的,當(dāng)調(diào)用startActivty()后,這個(gè)函數(shù)立刻返回,而不是等待Activity創(chuàng)建 好后才返回Android下TestCase的包結(jié)構(gòu)SDK功能說明功能說明junit.frameworkJUnit測試框架junit.runner實(shí)用工具類支持JUnit測試框架android.testAndroid 對JUnit測試框架的擴(kuò)展包android.test.mockAndroid的一些輔助類and

3、roid.test.suitebuilder實(shí)用工具類,支持類的測試運(yùn)行 包結(jié)構(gòu)Android下TestCase的類說明類類說明說明AndroidTestCase如果你要訪問資源或其他東西依賴于Activity的環(huán)境,在這個(gè)類的基礎(chǔ)上擴(kuò)展。ActivityInstrumentationTestCase2這個(gè)類提供了一個(gè)單一的活動(dòng)功能測試ApplicationTestCase提供了一個(gè)框架,可以在受控環(huán)境中測試Application類ProviderTestCase2提供了一個(gè)框架,可以在受控環(huán)境中測試ContentProvider類ServiceTestCase提供了一個(gè)框架,可以在受控環(huán)境中

4、測試ServiceTest類。Instrumentation簡介簡介 一種沒有圖形界面,具有啟動(dòng)能力,用于監(jiān)控其他類的工具類 執(zhí)行application instrumentation代碼的基類 在任何應(yīng)用程序運(yùn)行前初始化 可以監(jiān)測系統(tǒng)與應(yīng)用程序之間的交互 在AndroidManifest.xml中的標(biāo)簽進(jìn)行聲明Instrumentation的功能的功能 添加、刪除ActivityMoniter 控制Application、Activity的創(chuàng)建與生命周期 控制Instrumentation的運(yùn)行 發(fā)送按鍵、滾動(dòng)球等事件消息到當(dāng)前窗口 同步某些操作(等待Activity創(chuàng)建完畢、等待主線程空閑

5、、等待某個(gè)操作執(zhí)行完畢)使用instrumentation單元測試的實(shí)例 編寫需要測試的主體代碼activity 編寫測試類 修改manifest文件 運(yùn)行編寫需要測試的主體代碼activitypackage com.android.ut;import android.app.activity;import android.os.bundle;public class androidut extends activity public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); set

6、contentview(r.layout.main); public int add(int a, int b) return a + b; 編寫測試類package com.android.ut.test;import com.android.ut.androidut;import android.test.activityinstrumentationtestcase;public class testapp extends activityinstrumentationtestcase public testapp() super(com.android.ut, androidut.cl

7、ass); public void testsum() assertequals(5, getactivity().add(2, 3); 修改manifest文件 也可以將也可以將instrumentation定義成定義成一個(gè)單獨(dú)的一個(gè)單獨(dú)的apk運(yùn)行 在Development的Instrumentation內(nèi)運(yùn)行 命令行運(yùn)行 adb shell am instrument w XXX 測試一個(gè)包adb shell am instrument -w packageName/android.test.InstrumentationTestRunner 測試一個(gè)TestSuiteadb shell am instrument -e class packageName.MyTestSuite -w packageName/android.test.InstrumentationTestRunner 測試一個(gè)TestCaseadb shell am instrument -e class packageName. MyTestCase -w packageName/android.test.InstrumentationTestRunner 測試一個(gè)方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論