新聞中心
下面詳細(xì)的說明一下Android問題,所謂的Android:Android是基于Linux內(nèi)核的軟件平臺和操作系統(tǒng),早期由Google開發(fā),后由開放手機聯(lián)盟Open Handset Alliance)開發(fā)。

雙灤網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
在介紹具體的命令之前,我們先理解一下單元測試的層次。一組單元測試可以被組織成若干個TestSuite。每個TestSuite包含若干TestCase(某個繼承android.jar的junit.framework.TestCase的類)。每個TestCase又包含若干個Test(具體的test方法)。
如果假設(shè)com.android.foo是你的測試代碼的包的根。當(dāng)執(zhí)行以下命令時,會執(zhí)行所有的TestCase的所有Test。測試的對象就是在Target Package中指定的包中的代碼: adb shell am instrument -w com.android.foo/android.test.InstrumentationTestRunner 如果你想運行一個TestSuite。首先繼承android.jar的junit.framework.TestSuite類,實現(xiàn)一個TestSuite(com.android.foo.MyTestSuite),然后執(zhí)行以下命令執(zhí)行此TestSuite。
其中的-e表示額外的參數(shù),語法為-e [arg1] [value1] [arg2] [value2] …這里用到了class參數(shù)。 如果僅僅想運行一個TestCase(比如叫com.android.foo.MyTestCase),則用以下命令: 如果僅僅想運行一個Test(比如就是上面MyTestCase的testFoo方法),很類似的,就這樣寫: 然后,所有的測試結(jié)果會輸出到控制臺。
并會做一系列統(tǒng)計,如標(biāo)記為E的是Error,標(biāo)記為F的是Failure,Success的測試則會標(biāo)記為一個點。這和JUnit的語義一致。如果希望斷點調(diào)試你的測試,只需要直接在代碼上加上斷點,然后將運行命令參數(shù)的-e后邊附加上debug true后運行即可。
更加詳細(xì)的內(nèi)容可以看InstrumentationTestRunner的Javadoc。我希望Android能盡快有正式的文檔來介紹這個內(nèi)容。 在android.test.annotation包里定義了幾個annotation,包括@LargeTest,@MediumTest,@SmallTest,@Smoke,和@Suppress。
你可以根據(jù)自己的需要用這些annotation來對自己的測試分類。在執(zhí)行單元測試命令時,可以在-e參數(shù)后設(shè)置“size large”/ “size medium”/ “size small”來執(zhí)行具有相應(yīng)標(biāo)記的測試。
特別的@Supperss可以取消被標(biāo)記的Test的執(zhí)行。以上步驟中,在Android自帶的例子中,我發(fā)現(xiàn)它有兩個manifest.xml。也就是說在步驟3中源代碼和測試代碼分別生成了兩個不同的包。
然后步驟4利用adb install命令安裝到了虛擬機上。由于我沒有找到Eclipse ADT有辦法可以為一個只有Instrumentation,沒有Activity的Application打包并安裝,于是采用了略微不同的辦法完成了這個工作。下面將一一詳細(xì)介紹整個過程。
當(dāng)前名稱:深度講解Android問題
URL標(biāo)題:http://www.dlmjj.cn/article/djeisii.html


咨詢
建站咨詢
