編輯:關於Android編程
Android開發之單元測試(一)
請尊重他人的勞動成果,轉載請注明出處 : Android開發之單元測試(一)
http://blog.csdn.net/fengyuzhengfan/article/details/40209995
在實際開發中,開發android軟件的過程需要不斷地進行測試。進行Android單元測試是正規Android開發的必經步驟。單元測試可以嵌入到項目中;也可以作為一個單獨的項目針對某個具體項目進行測試。
從上圖可以看出:
1.android中的測試方法主要有AndroidTestCase和InstrumentationTextCase。那麼什麼是Instrumentation?
Instrumentation和Activity有點類似,只不過Activity是需要一個界面的,而Instrumentation並不是這樣的,我們可以將它理解為一種沒有圖形界面的,具有啟動能力的,用於監控其他類(用Target Package聲明)的工具類。
2. 通過android測試類可以實現對android中相關重要的組件進行測試(如Activity,Service,ContentProvider以及Application)。
這裡我編寫一個簡單的被測類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項目多了
其中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 單元測試。
我們可以根據需要選項是運行某一個測試方法還是所有的方法,步驟如圖
運行結果:
結果分析:
從上圖可以看出,運行結果為失敗,原因是sum返回的3,但我們期望它返回的是4。
下面我們將期望值改為3:
這時候預期和結果相同,運行通過。我們傳過去的1和2進行相加,返回結果是3,所以證明sum方法是正確的。
未完待續………….
如果你覺得這篇博文對你有幫助的話,請為這篇博文點個贊吧!也可以關注fengyuzhengfan的博客,收看更多精彩http://blog.csdn.net/fengyuzhengfan/
上節學習了如何在手機內部存儲中讀寫文件,本節學習如何在手機的外部存儲中讀寫文件。那就是如何在Sdcard中讀寫文件。那我們還是用以前登錄界面的例子舉例說明,(登錄界面請看
我們知道有不少開源工程,能實現很多不錯的效果。前幾天,我看了一個效果,剛好項目中也用到了這個jar包。沒事挖一挖 學一學(一說到挖一挖,那麼問題來了,挖掘機技術到底哪家強
一、什麼是activity Activity 是用戶接口程序,原則上它會提供給用戶一個交互式的接口功能。它是 android 應用程
本文為原創博客,出自http://blog.csdn.net/minimicall 到今天為止,搜芽的賣家版本應該來說已經基本完成,攻堅克難的一路過來。速度也控制的比較好
我們知道有不少開源工程,能實現很多不錯的效果。前幾天,我看了一個效果,剛