[Android學(xué)習(xí)十一]Android開發(fā)單元測試

       網(wǎng)上關(guān)于Android單元測試的文字帖子不勝枚舉,看完之后能解決問題是好事,不能解決問題那就是浪費時間和經(jīng)歷。大多數(shù)文章來自于這篇文章:http://rexstjohn.com/unit-testing-with-android-studio/

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比漣水網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式漣水網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋漣水地區(qū)。費用合理售后完善,十年實體公司更值得信賴。

       自從投入到Android Studio IDE之后基本上就賴著不走了。這里僅討論AS(Android Studio)中Android單元測試。
 
 
      開發(fā)一個Android應(yīng)用單元測試這種程序員的自我修養(yǎng)和基本道德測試是必不可少的。其單元測試分為兩塊,一塊是依賴Android API(平臺)的單元測試,一塊是不依賴Android API的單元測試。
 
   
     1.不依賴AndroidAPI的單元測試
     
        這一塊就和通常開發(fā)JavaSE,EE應(yīng)用的單元測試一樣,測試框架更加需要自行選擇即可。在通過AS創(chuàng)建Android應(yīng)用模塊時,默認(rèn)在build.gradle文件中添加了測試庫junit依賴。

     如果在AS中使用不依賴AndroidAPI的單元測試,一圖頂萬言:

[Android學(xué)習(xí)十一]Android開發(fā)單元測試[Android學(xué)習(xí)十一]Android開發(fā)單元測試

               

                                 圖一                                                                                   圖二

    如圖二所示,在Build Variants的Test Artifact設(shè)置為Unit tests之后,test源碼目錄呈現(xiàn)出IDEA風(fēng)格的綠色目錄。 這是就可以運行測試類或測試套件,比較容易就不多解釋了。

   2. 依賴Android API的單元測試

      2.1 AS中配置Android單元測試

       Android基于junit3框架提供了Android的單元測試框架,要在Android中使用單元測試就需要依賴android.test包下的具體類。下面是AS中配置Android單元測試的方法:

   [Android學(xué)習(xí)十一]Android開發(fā)單元測試

                                                                                               圖三   

  2.2 Android單元測試示例

    2.2.1 一個單元測試類:

   

package secondriver.heathfood.test;

import android.test.InstrumentationTestCase;

import com.orhanobut.logger.Logger;

import secondriver.heathfood.App;
import secondriver.heathfood.logic.TianGou;
import secondriver.heathfood.pojo.FoodCla***esult;
import secondriver.heathfood.pojo.FoodDetail;
import secondriver.heathfood.pojo.FoodDetailResult;

/**
 * Author : secondriver
 * Created : 2016/1/20
 */
public class TestTianGou extends InstrumentationTestCase {

    public TianGou tianGou;

    public void setUp() {
        tianGou = new TianGou(App.restTemplate());
    }

    public void test_queryFoodClassByParentId1() {
        FoodCla***esult result = tianGou.queryFoodClassByParentId(0);
        assertTrue(result.isStatus());
    }
}

 

  

    關(guān)于Android的單元測試基類參見:

   http://www.oschina.net/question/54100_27061?fromerr=NydwIvQR 。

   http://www.uml.org.cn/mobiledev/201306074.asp

   

   注意:Android單元測試的測試類寫法遵循的是Junit3.

 

   2.2.2 執(zhí)行單元測試

   

   在執(zhí)行單元測試之前,講Build Variant的Test Artifact設(shè)置為圖一所示值。  

   執(zhí)行Android Tester之后,輸出截圖:

  [Android學(xué)習(xí)十一]Android開發(fā)單元測試

                                  圖四

  從截圖上得知未授網(wǎng)絡(luò)訪問權(quán)權(quán)限。

  2.2.3 AS中Android單元測試控制臺

[Android學(xué)習(xí)十一]Android開發(fā)單元測試

                                      圖五

   在網(wǎng)上找關(guān)于Android單元測試的案例時,比較雜亂,遂作此文予以整理,Android單元測試如何去做當(dāng)是另外的主題,需要參考android.test包中提供的具體類。

 文中的android測試類的包直接創(chuàng)建在了main代碼目錄下,比較好的方式如下Android測試代碼目錄結(jié)構(gòu)圖:

 [Android學(xué)習(xí)十一]Android開發(fā)單元測試

               圖 六

文章標(biāo)題:[Android學(xué)習(xí)十一]Android開發(fā)單元測試
瀏覽路徑:http://muchs.cn/article28/jsogcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站營銷、商城網(wǎng)站、定制開發(fā)、手機網(wǎng)站建設(shè)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計