標籤: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開發之單元測試(一)