欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android應用開發(fā)中單元測試分析

 更新時間:2015年12月23日 09:48:11   投稿:lijiao  
這篇文章主要介紹了Android應用開發(fā)中單元測試的作用,以及何為單元測試,深入學習Android應用開發(fā)中單元測試,需要的朋友可以參考下

本文主要和大家分享如何在Android應用開發(fā)過程中如何進行單元測試,個人在做項目的過程中,覺得單元測試很有必要,以保證我們編寫程序的正確性。下面我們先大概了解下單元測試,以及單元測試的作用。
       單元測試(又稱為模塊測試)是針對程序模塊(軟件設計的最小單位)來進行正確性檢驗的測試工作。程序單元是應用的最小可測試部件。在過程化編程中,一個單元就是單個程序、函數、過程等;對于面向對象編程,最小單元就是方法,包括基類(超類)、抽象類、或者派生類(子類)中的方法。單元測試是由程序員自己來完成,最終受益的也是程序員自己??梢赃@么說,程序員有責任編寫功能代碼,同時也就有責任為自己的代碼編寫單元測試。執(zhí)行單元測試,就是為了證明這段代碼的行為和我們期望的一致。
       其實我們每天都在做單元測試。你寫了一個函數,除了極簡單的外,總是要執(zhí)行一下,看看功能是否正常,有時還要想辦法輸出些數據,如彈出信息窗口什么的,這,也是單元測試,把這種單元測試稱為臨時單元測試。只進行了臨時單元測試的軟件,針對代碼的測試很不完整,代碼覆蓋率要超過70%都很困難,未覆蓋的代碼可能遺留大量的細小的錯誤,這些錯誤還會互相影響,當BUG暴露出來的時候難于調試,大幅度提高后期測試和維護成本,也降低了開發(fā)商的競爭力??梢哉f,進行充分的單元測試,是提高軟件質量,降低開發(fā)成本的必由之路。
  對于程序員來說,如果養(yǎng)成了對自己寫的代碼進行單元測試的習慣,不但可以寫出高質量的代碼,而且還能提高編程水平。
  要進行充分的單元測試,應專門編寫測試代碼,并與產品代碼隔離。我認為,比較簡單的辦法是為產品工程建立對應的測試工程,為每個類建立對應的測試類,為每個函數(很簡單的除外)建立測試函數。
在Android應用開發(fā)中有兩種方式可以進行單元測試,下面分別展示這兩種單元測試的方法:

單元測試方式一[基于應用的工程上進行單元測試]

根據上面的程序代碼結構圖,例如我們要測試包 com.andyidea.demo 包中的 JUnitService.java 中的某個方法的正確性。例如該對象中有個 add方法,計算兩個整型數據的和

package com.andyidea.demo; 
 
public class JUnitService { 
   
  public int add(int a, int b){ 
    return a+b; 
  } 
 
} 

然后我們在MyJnuitTest.java中編寫單元測試代碼,[注意:該測試類一定要繼承 AndroidTestCase類] 以驗證程序結果是否是我們所期望的一致

package com.andyidea.jnuit; 
 
import junit.framework.Assert; 
import android.test.AndroidTestCase; 
 
import com.andyidea.demo.JUnitService; 
 
public class MyJnuitTest extends AndroidTestCase { 
   
  public void testAdd() throws Exception{ 
    JUnitService js = new JUnitService(); 
    int sum = js.add(1, 2); 
     
    Assert.assertEquals(3, sum); 
  } 
 
} 

同時我們還需要在 Manifest.xml 清單配置文件中配置下:以紅色標志出來需要配置的地方。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  package="com.andyidea.demo" 
  android:versionCode="1" 
  android:versionName="1.0" > 
   
 <span style="color:#ff0000;"> <!-- 代表把單元測試框架中的一些依賴庫引入進來 --> 
  <uses-sdk android:minSdkVersion="8" /></span> 
 
  <application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <uses-library android:name="android.test.runner" /> 
    <activity 
      android:name="com.andyidea.demo.JUnitTestDemoActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
 
        <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
    </activity> 
  </application> 
   
<span style="color:#ff0000;">  <!-- 代表配置單元測試框架的啟動裝置,啟動裝置有好幾個類,可以選擇,一般情況下我們使用上面這個。 
     targetPackage與上面的package相同,代表單元測試框架和當前應用是處于同一個進程中 --> 
  <instrumentation 
    android:name="android.test.InstrumentationTestRunner" 
    android:label="Test for my app" 
    android:targetPackage="com.andyidea.demo"/></span> 
</manifest> 

最后,打開eclipse中的outline窗口,其中會顯示單元測試類的所有的方法然后想要測試哪個方法,則在哪個測試方法上右鍵鼠標,選擇Run As,然后再選擇Android JUnit Test即可,如果是正常的,則會如下:

如果有異?;蛘咤e誤,則會出現如下情況:

單元測試方式二:
其實這種方式更加簡單,這種方式是單獨創(chuàng)建一個單元測試的工程來進行測試。即創(chuàng)建一個 Android Test Project ,然后選擇需要單元測試的項目就OK了,通過這種方式進行單元測試的話就不用進行上面的配置,其實創(chuàng)建這種工程的時候,默認已經幫我們配置好了,如何進行測試和上面的方式一樣,在這里就不詳細講解了。

以上就是針對Android應用開發(fā)中單元測試進行的詳細介紹,希望對大家的學習有所幫助。

相關文章

  • 玩轉Android之Drawable的使用

    玩轉Android之Drawable的使用

    這篇文章主要為大家詳細介紹了Android之Drawable的使用方法,幫助大家系統的學習一下Drawable的使用,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 詳解Android TabHost的多種實現方法 附源碼下載

    詳解Android TabHost的多種實現方法 附源碼下載

    這篇文章主要為大家詳細介紹了Android TabHost的多種實現方法 文章中針對每一種實現方法都附有源碼進行下載,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android下拉列表(Spinner)效果(使用C#和Java分別實現)

    Android下拉列表(Spinner)效果(使用C#和Java分別實現)

    這篇文章主要介紹了Android下拉列表(Spinner)效果(使用C#和Java分別實現),本文直接給出效果圖和兩種語言的實現代碼及布局代碼,需要的朋友可以參考下
    2015-06-06
  • Android仿新浪微博個人信息界面及其他效果

    Android仿新浪微博個人信息界面及其他效果

    這篇文章主要為大家詳細介紹了Android仿新浪微博個人信息界面及其他效果設計,如正則表達式如何匹配相應表情字段,處理微博發(fā)出時間距現在時刻的時間,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android中Notification通知用法詳解

    Android中Notification通知用法詳解

    這篇文章主要為大家詳細介紹了Android中Notification通知用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Android自定義View實現直播點贊特效

    Android自定義View實現直播點贊特效

    這篇文章主要為大家詳細介紹了Android自定義View實現直播點贊特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Android開發(fā)筆記 最好使用eclipse

    Android開發(fā)筆記 最好使用eclipse

    值得注意一點的是,雖然Myeclipse比eclipse功能更強大,但是在具體的安卓開發(fā)過程當中,最好還是選用eclipse,sdk跟eclipse的兼容性更好
    2012-11-11
  • RecyclerView底部分割線去除的方法

    RecyclerView底部分割線去除的方法

    如何完美的去除RecyclerView底部分割線?這篇文章主要為大家詳細介紹了RecyclerView底部分割線去除的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Android TCP 文件客戶端與服務器DEMO介紹

    Android TCP 文件客戶端與服務器DEMO介紹

    首先是服務器,服務器是在PC機上,JAVA運行環(huán)境,主要參考網上的代碼,自己做了支持多線程處理,代碼如下所示。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • Android多國語言轉換Excel及Excel轉換為string詳解

    Android多國語言轉換Excel及Excel轉換為string詳解

    這篇文章主要給大家介紹了關于Android多國語言轉換Excel以及Excel轉換為string的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧
    2019-01-01

最新評論