99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

Android單元測(cè)試學(xué)習(xí)教程

發(fā)布時(shí)間:2016-07-07 14:05  回復(fù):0  查看:3294   最后回復(fù):2016-07-07 14:05  
今天給大家分享一篇單元測(cè)試教程。Android的單元測(cè)試有兩種方式:本地單元測(cè)試和設(shè)備單元測(cè)試,本地單元測(cè)試可以直接運(yùn)行在本地機(jī)器上面的Java Virtual Machine(JVM)上面。它的特點(diǎn)是運(yùn)行時(shí)間短,執(zhí)行效率高,但是不依賴Android framework,每個(gè)文件都可以進(jìn)行單獨(dú)的測(cè)試。
運(yùn)行在設(shè)備上的單元測(cè)試,運(yùn)行的是一個(gè)單獨(dú)的APK,直接運(yùn)行到虛擬機(jī)或者設(shè)備上,這種單元測(cè)試擁有整個(gè)App的生命周期和運(yùn)行環(huán)境。
這里主要介紹運(yùn)行設(shè)備上的單元測(cè)試為主。
測(cè)試文件在哪?
下面是一個(gè)Android項(xiàng)目的基本結(jié)構(gòu):
Android單元測(cè)試學(xué)習(xí)教程 
Android項(xiàng)目結(jié)構(gòu)
其中../app/src/test/java目錄下是本地單元測(cè)試的文件目錄。
../app/src/androidTest/java目錄下就是設(shè)備單元測(cè)試的文件目錄。
配置測(cè)試環(huán)境
首先需要引入單元測(cè)試的依賴庫(kù),在AndroidManifest.xml里面添加uses-library:
    <application
        .....
        <uses-library android:name="android.test.runner"/>
    </application>
配置單元測(cè)試框架的啟動(dòng)項(xiàng):
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.jjz">

      <instrumentation android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.jjz"
        android:label="test"/>
</manifest>
android.test.InstrumentationTestRunner是Android單元測(cè)試其中的一個(gè)啟動(dòng)項(xiàng),用來(lái)啟動(dòng)單元測(cè)試。
com.android.test.runner.MultiDexTestRunner是另一個(gè)單元測(cè)試的啟動(dòng)項(xiàng)用來(lái)啟動(dòng)MultiDex的項(xiàng)目。
設(shè)置android:targetPackage與項(xiàng)目的package相同,這樣當(dāng)前單元測(cè)試的運(yùn)行和應(yīng)用程序是在一個(gè)進(jìn)程里面。
編寫測(cè)試代碼
在項(xiàng)目中增加一個(gè)方法用來(lái)比較兩個(gè)字符串的是否相等,在對(duì)該方法進(jìn)行做單元測(cè)試:
public class StringUtil {
    public static boolean compare(String source, String other) {
        if (source == null) {
            return other == null;
        } else {
            return source.equals(other);
        }

    }
}
增加方法compare的單元測(cè)試代碼,在../app/src/androidTest/java/com.jjz添加文件StringUtilTest.java。
public class StringUtilTest extends AndroidTestCase {

    public void testCompare() {
        Assert.assertFalse(StringUtil.compare(null,"123"));
        Assert.assertTrue(StringUtil.compare("123","123"));
    }
}
需要注意的是類名必須使用Test結(jié)尾,需要繼承AndroidTestCase,單元測(cè)試的方法需要使用test開頭。
運(yùn)行
在../app/androidTest/java文件夾上面,可以看到運(yùn)行單元測(cè)試的按鈕:
Android單元測(cè)試學(xué)習(xí)教程 
Run all tests

直接點(diǎn)擊Run all tests,可以看到運(yùn)行單元測(cè)試的結(jié)果:
Android單元測(cè)試學(xué)習(xí)教程 
測(cè)試結(jié)果


原文來(lái)自:簡(jiǎn)書/姜家志
您還未登錄,請(qǐng)先登錄

熱門帖子

最新帖子

?