編輯:關於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/
Android 存儲學習之在外部存儲中讀寫文件
上節學習了如何在手機內部存儲中讀寫文件,本節學習如何在手機的外部存儲中讀寫文件。那就是如何在Sdcard中讀寫文件。那我們還是用以前登錄界面的例子舉例說明,(登錄界面請看
Android中通過ViewHelper.setTranslationY實現View移動控制(NineOldAndroids開源項目)
我們知道有不少開源工程,能實現很多不錯的效果。前幾天,我看了一個效果,剛好項目中也用到了這個jar包。沒事挖一挖 學一學(一說到挖一挖,那麼問題來了,挖掘機技術到底哪家強
Android的activity學習筆記
一、什麼是activity Activity 是用戶接口程序,原則上它會提供給用戶一個交互式的接口功能。它是 android 應用程
Android開發之PullToRefresh的Click點擊事件的監聽實現長按刪除Item
本文為原創博客,出自http://blog.csdn.net/minimicall 到今天為止,搜芽的賣家版本應該來說已經基本完成,攻堅克難的一路過來。速度也控制的比較好
Android中通過ViewHelper.setTranslationY實現View移動控制(NineOldAndroids開源項目)
我們知道有不少開源工程,能實現很多不錯的效果。前幾天,我看了一個效果,剛