android下測試方法及junit單元測試框架配置方法

 1.測試方法:android

根據測試是否知道源代碼分爲:

1.  黑盒測試:只關心程序執行的過程 和 結果app

2.  白盒測試:根據源代碼寫測試方法 或者 測試用例框架

根據測試粒度:

1.方法測試:function test函數

2.單元測試:unit test單元測試

3.集成測試:intergration test測試

根據測試的次數:

  1. 冒煙測試:smoke test(次數很是多,都測到冒煙燒起來了,能夠用android 猴子)
  2. 壓力測試:pressure test(用戶訪問量很是大,好比幾百萬)

其中單元測試(如junit測試)是開放人員寫完代碼以後常常要去寫的代碼,spa

2.寫完測試代碼後,查看測試代碼可否正常執行:

在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,那麼測試將不經過,顯示的是紅條

綜上總結:junits框架的使用步驟

步驟一:繼承extends AndroidTestCase

步驟二:在manifest裏面進行配置

上面的清單文件配置參數其實挺難記的,記不住配置參數的簡便作法:

新建項目的時候選擇新建android下的Android Test Project

 

選擇測試的項目

 

選擇測試的版本

 

打開新建的工程的manifest文件,就能夠看到配置參數了,粘貼一下便可

相關文章
相關標籤/搜索