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

下載本文檔

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

文檔簡(jiǎn)介

Android上的單元測(cè)試Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第1頁(yè)!Junit簡(jiǎn)介在Java下做單元測(cè)試的必用工具提供了一整套單元測(cè)試的框架測(cè)試用例的管理(TestSuite)。測(cè)試代碼的編寫(xiě)(TestCase)。測(cè)試的環(huán)境的建立(setUp、tearDown)。測(cè)試結(jié)果的判定(assert)。Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第2頁(yè)!在Android下能使用JUnit?Android提供了junit.framework包只測(cè)試一些和android無(wú)關(guān)的東西,如業(yè)務(wù)邏輯、數(shù)據(jù)封裝、數(shù)值計(jì)算,可使用Junit。要將classpath選項(xiàng)里的androidlibrary改成jre,并且添加junit.jar。測(cè)試關(guān)于Android系統(tǒng)中的API,如Activity界面、單擊界面上的按鈕、選擇菜單等不能使用Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第3頁(yè)!測(cè)試Activity需要些什么?創(chuàng)建Activity并控制Activity的生命周期提供同步的能力,因?yàn)锳ctivity的創(chuàng)建是異步的,當(dāng)調(diào)用startActivty()后,這個(gè)函數(shù)立刻返回,而不是等待Activity創(chuàng)建好后才返回Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第4頁(yè)!Android下TestCase的類說(shuō)明類說(shuō)明AndroidTestCase如果你要訪問(wèn)資源或其他東西依賴于Activity的環(huán)境,在這個(gè)類的基礎(chǔ)上擴(kuò)展。ActivityInstrumentationTestCase2

<TextendsActivity>這個(gè)類提供了一個(gè)單一的活動(dòng)功能測(cè)試ApplicationTestCase

<TextendsApplication>提供了一個(gè)框架,可以在受控環(huán)境中測(cè)試Application類ProviderTestCase2

<TextendsContentProvider>提供了一個(gè)框架,可以在受控環(huán)境中測(cè)試ContentProvider類ServiceTestCase

<TextendsService>提供了一個(gè)框架,可以在受控環(huán)境中測(cè)試ServiceTest類。Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第5頁(yè)!Instrumentation的功能添加、刪除ActivityMoniter控制Application、Activity的創(chuàng)建與生命周期控制Instrumentation的運(yùn)行發(fā)送按鍵、滾動(dòng)球等事件消息到當(dāng)前窗口同步某些操作(等待Activity創(chuàng)建完畢、等待主線程空閑、等待某個(gè)操作執(zhí)行完畢)Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第6頁(yè)!編寫(xiě)需要測(cè)試的主體代碼activitypackage.android.ut;

importandroid.app.activity;

importandroid.os.bundle;

publicclassandroidutextendsactivity{

publicvoidoncreate(bundlesavedinstancestate){

super.oncreate(savedinstancestate);

setcontentview(r.layout.main);

}

publicintadd(inta,intb)

{

returna+b;

}

}Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第7頁(yè)!修改manifest文件<?xmlversion="1.0"encoding="utf-8"?>

<manifestxmlns:android="schemas.android./apk/res/android"

package=".android.ut"

android:versioncode="1"

android:versionname="1.0.0">

<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">

<activityandroid:name=".androidut"

android:label="@string/app_name">

<intent-filter>

<actionandroid:name="ent.action.main"/>

<categoryandroid:name="ent.category.launcher"/>

</intent-filter>

</activity>

<uses-libraryandroid:name="android.test.runner"/>

</application>

<instrumentationandroid:targetpackage=".android.ut"android:name="android.test.instrumentationtestrunner"android:label="testunittests"></instrumentation>

</manifest>也可以將instrumentation定義成一個(gè)單獨(dú)的apkAndroid上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第8頁(yè)!Android下TestCase的包結(jié)構(gòu)SDK功能說(shuō)明junit.frameworkJUnit測(cè)試框架junit.runner實(shí)用工具類支持JUnit測(cè)試框架android.testAndroid對(duì)JUnit測(cè)試框架的擴(kuò)展包android.test.mockAndroid的一些輔助類android.test.suitebuilder實(shí)用工具類,支持類的測(cè)試運(yùn)行包結(jié)構(gòu)Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第9頁(yè)!Instrumentation簡(jiǎn)介一種沒(méi)有圖形界面,具有啟動(dòng)能力,用于監(jiān)控其他類的工具類執(zhí)行applicationinstrumentation代碼的基類在任何應(yīng)用程序運(yùn)行前初始化可以監(jiān)測(cè)系統(tǒng)與應(yīng)用程序之間的交互在AndroidManifest.xml中的<instrumentation>標(biāo)簽進(jìn)行聲明Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第10頁(yè)!使用instrumentation單元測(cè)試的實(shí)例編寫(xiě)需要測(cè)試的主體代碼activity編寫(xiě)測(cè)試類修改manifest文件運(yùn)行Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第11頁(yè)!編寫(xiě)測(cè)試類package.android.ut.test;

import.android.ut.androidut;

importandroid.test.activityinstrumentationtestcase;

publicclasstestappextendsactivityinstrumentationtestcase<androidut>{

publictestapp()

{

super(".android.ut",androidut.class);

}

publicvoidtestsum()

{

assertequals(5,getactivity().add(2,3));

}

}Android上的單元測(cè)試共13頁(yè),您現(xiàn)在瀏覽的是第12頁(yè)!運(yùn)行在Development的Instrumentation內(nèi)運(yùn)行命令行運(yùn)行adbshellaminstrument–wXXX測(cè)試一個(gè)包adbshellaminstrument-wpackageName/android.test.InstrumentationTestRunner測(cè)試一個(gè)TestSuiteadbshellaminstrument-eclasspackageName.MyTestSuite-wpackageName/android.test.InstrumentationTestRunner測(cè)試一個(gè)TestCaseadbshellaminstrument-eclasspackageName.MyTestCase-wpackageName/a

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論