Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發之單元測試(一)

Android開發之單元測試(一)

編輯:關於Android編程

Android開發之單元測試(一)

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

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

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


1. Android單元測試框架的層次結構


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,如圖:

第一步 創建Android測試用例

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

至此,Android測試工程已經創建完成,下面讓我們看一下去它的項目清單文件,如圖:

從上圖可以看出,Android測試工程比普通Android項目多了標簽和"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()
	 */
	@Override
	protected void setUp() throws Exception {
		// TODO Auto-generated method stub
		mUtil=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()
	 */
	@Override
	protected void tearDown() throws Exception {
		// TODO Auto-generated method stub
		super.tearDown();
	}	
}

代碼分析:

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

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

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

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


第三步:進行單元測試


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

運行結果:

運行結果1

結果分析:

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


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

運行結果2


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

未完待續………….


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


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved