Android開發之單元測試(一)

來源:互聯網
上載者:User

標籤:androidtestcase   android單元測試   

Android開發之單元測試(一)

 

請尊重他人的勞動成果,轉載請註明出處 : Android開發之單元測試(一)

http://blog.csdn.net/fengyuzhengfan/article/details/40209995

        在實際開發中,開發android軟體的過程需要不斷地進行測試。進行Android單元測試是正規Android開發的必經步驟。單元測試可以嵌入到項目中;也可以作為一個單獨的項目針對某個具體項目進行測試。


1.   Android單元測試架構的階層

從可以看出:

1.android中的測試方法主要有AndroidTestCase和InstrumentationTextCase。那麼什麼是Instrumentation?

Instrumentation和Activity有點類似,只不過Activity是需要一個介面的,而Instrumentation並不是這樣的,我們可以將它理解為一種沒有圖形介面的,具有啟動能力的,用於監控其他類(用Target Package聲明)的工具類。

2. 通過android測試類別可以實現對android中相關重要的組件進行測試(如Activity,Service,ContentProvider以及Application)。


2.  進行Android單元測試的步驟


這裡我編寫一個簡單的被測類MathUtil這個測試類別中只有一個被測方法sum用於計算兩個整數相加的和。  

package com.jph.simpleapp;/** * 被測試類別 * @author jph * Date:2014.10.18 */public class MathUtil {public MathUtil() {// TODO Auto-generated constructor stub}public int sum(int a,int b) {return a+b;}}

提示:被測的方法必須聲明為public,否則無法訪問。

下面開始開建立測試工程,主要步驟如下:

 

第一步:建立測試工程


建立Android測試專案,在彈出框中選擇Android Test Project,

 

選擇要測試的項目,然後單擊完成finish即可。

至此,Android測試工程已經建立完成,下面讓我們看一下去它的項目資訊清單檔,

從可以看出,Android測試工程比普通Android項目多了<instrumentation/>標籤和<uses-libraryandroid:name="android.test.runner"/>。

其中targetPackage表示被測試的Android項目的包名。

第二步:建立測試類別


這裡選擇繼承AndroidTestCase。


測試代碼:

package com.jph.simpleapp.test;import com.jph.simpleapp.MathUtil;import android.test.AndroidTestCase;/** * 測試類別 * @author jph * Date:2014.10.18 */public class MathUtilTest extends AndroidTestCase {MathUtil mUtil;/** * 第一個被執行的方法,可以在這個方法中進行一些初始化操作 * @see android.test.AndroidTestCase#setUp() */@Overrideprotected void setUp() throws Exception {// TODO Auto-generated method stubmUtil=new MathUtil();super.setUp();}public void testSum() {int result=mUtil.sum(2, 1);assertEquals(3, result);System.out.println("result:"+result);}/** * 最後一個被執行的方法,在這裡進行一些收尾工作 * @see android.test.AndroidTestCase#tearDown() */@Overrideprotected void tearDown() throws Exception {// TODO Auto-generated method stubsuper.tearDown();}}
 

程式碼分析:

setUp():第一個被執行的方法,可以在這個方法中進行一些初始化操作

tearDown():最後一個被執行的方法,在這裡進行一些收尾工作

testSum():是要進行測試sum的方法。

至此,測試類別已經編寫完成。下面開始進行Android單元測試。


第三步:進行單元測試


我們可以根據需要選項是運行某一個測試方法還是所有的方法,步驟

運行結果:


結果分析:

從可以看出,運行結果為失敗,原因是sum返回的3,但我們期望它返回的是4。


下面我們將期望值改為3:



這時候預期和結果相同,運行通過。我們傳過去的1和2進行相加,返回結果是3,所以證明sum方法是正確的。

 

未完待續………….


如果你覺得這篇博文對你有協助的話,請為這篇博文點個贊吧!也可以關注fengyuzhengfan的部落格,收看更多精彩http://blog.csdn.net/fengyuzhengfan/   


Android開發之單元測試(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.