1.測試方法:android
1. 黑盒測試:只關心程序執行的過程 和 結果app
2. 白盒測試:根據源代碼寫測試方法 或者 測試用例框架
1.方法測試:function test函數
2.單元測試:unit test單元測試
3.集成測試:intergration test測試
其中單元測試(如junit測試)是開放人員寫完代碼以後常常要去寫的代碼,spa
在Outline窗口下點擊方法,3d
對着方法點擊右鍵—run as—Android JUnits Testcode
報錯:xml
測試框架沒有正確的配置,來到控制檯(Console)發現
junit does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses-library android.test.runner in its AndroidManifest.xml
說明要配置 Instrumentation(指令集),uses-library使用的函數庫
示例代碼:
1 <?xml version="1.0" encoding="utf-8"?> 2 3 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 4 5 package="com.example.junit" 6 7 android:versionCode="1" 8 9 android:versionName="1.0" > 10 11 12 13 //指令集,要在manifest的節點下面 14 15 <instrumentation 16 17 android:name="android.test.InstrumentationTestRunner"//指令集的名稱 18 19 android:targetPackage="com.example.junit "/>//測試的目標應用程序,把package的包名寫進來就能夠了 20 21 22 23 <uses-sdk 24 25 android:minSdkVersion="19" 26 27 android:targetSdkVersion="19" /> 28 29 30 31 <application 32 33 android:allowBackup="true" 34 35 android:icon="@drawable/ic_launcher" 36 37 android:label="@string/app_name" 38 39 android:theme="@style/AppTheme" > 40 41 <!--在application的節點下,使用的函數庫 --> 42 43 <uses-library android:name="android.test.runner"/> 44 45 <activity 46 47 android:name="com.example.junit.MainActivity" 48 49 android:label="@string/app_name" > 50 51 <intent-filter> 52 53 <action android:name="android.intent.action.MAIN" /> 54 55 56 57 <category android:name="android.intent.category.LAUNCHER" /> 58 59 </intent-filter> 60 61 </activity> 62 63 </application> 64 65 66 67 </manifest>
1 package com.example.junit.service; 2 3 public class CaleService { 4 5 /** 6 7 * 計算器相加的業務方法 8 9 * @param x 10 11 * @param y 12 13 * @return 14 15 */ 16 17 public int add(int x,int y) 18 19 { 20 21 return x+y; 22 23 } 24 25 26 27 public static void main(String[] args) 28 29 { 30 31 System.out.println("hahaha"); 32 33 } 34 35 }
1 package com.example.junit.test; 2 3 import com.example.junit.service.CaleService; 4 5 import android.test.AndroidTestCase; 6 7 8 9 public class TestCalcService extends AndroidTestCase 10 11 { 12 13 /** 14 15 * add方法的測試代碼 16 17 * 把異常拋給測試框架 18 19 * @throws Exception 20 21 */ 22 23 public void testAdd() throws Exception 24 25 { 26 27 CaleService service = new CaleService(); 28 29 int result = service.add(3,5); 30 31 assertEquals(8,result);//期待的結果 32 33 } 34 35 }
測試結果:
同時看到 :
有綠條,表示測試經過
假如上面的測試結果寫的不是8,那麼測試將不經過,顯示的是紅條
步驟一:繼承extends AndroidTestCase
步驟二:在manifest裏面進行配置
新建項目的時候選擇新建android下的Android Test Project
選擇測試的項目
選擇測試的版本
打開新建的工程的manifest文件,就能夠看到配置參數了,粘貼一下便可