1. 程式人生 > >android junit 單元測試與輸出日誌資訊檢視處理

android junit 單元測試與輸出日誌資訊檢視處理

JAVA Android專業技術討論 

專業Android Java 技術解答群 嚴禁無關技術內容聊天 一經發現 立即清退

單元測試

1.搭建專案測試環境 在主檔案 AndroidMainfest.xml中的application標籤中加入測試類庫

      <uses-library android:name="android.test.runner" /> 固定寫法 與application標籤的activity在同一層次 不要放錯位置  然後再application標籤的結束標籤下新增下面程式碼 (去掉註釋)

    <instrumentation
   <!--android:name="android.test.InstrumentationTestRunner" 固定寫法 -->
    <!-- android:label="Tests for My App" 可以自己起名 不要該項也行-->
    <!-- android:targetPackage="com.itcast.junittest" 單元測試包名 與上面package的值最好保持一樣 -->
     </instrumentation>

 2.編寫要測試類的方法和測試類

  需要測試類和方法  

package com.itcast.service;

public class PersonService {
 public int save() {
  String in = "123";
  int a = Integer.parseInt(in);
  return a;
 }
}

測試類

package com.itcast.test;

import junit.framework.Assert;
import com.itcast.service.PersonService;
import android.test.AndroidTestCase;
import android.util.Log;

public class PersonServiceTest extends AndroidTestCase {
 private static final String TAG = "PersonServiceTest";

 /**
  * 測試方法以test開頭 最好丟擲異常 或者跑出Exception的父類Throwable
  *
  * @throws Exception
  */
 public void testSave() throws Exception {
  PersonService personService = new PersonService();
  int b = personService.save();
  System.out.println(b);// 固定tag是System.out
  System.err.println("");// 固定tag是System.err
  Log.i(TAG, "result: " + b);// android系統內建的往控制檯輸出資訊的方法 可以使.v.d .i .w .e
         // 表示不同級別的輸出資訊 v<d<i<w<e 引數一是在控制檯輸出的標籤值
         // 可以新增過濾快速查詢 引數 一般都用當前類的類名做tag 2是輸出的資訊
         // 還可在加上一個引數
         // exception物件
  Assert.assertEquals(123, b);// 判斷方法的返回結果是否與預期的值一樣
 }

}

3.執行測試類  在測試類裡郵件 選擇run as  >  android junit test 資訊會在jinit 檢視中輸出  如果有錯誤的話 上面的橫條就會變紅色 正常的話就是綠色的

日誌

因為android裝置儲存空間小 不想電腦那麼大 所以 android的專案日誌只在控制檯輸出 系統內建的LOG.i(tag,msg)

LOG.v(tag,msg) LOG.d(tag,msg) LOG.w(tag,msg) LOG.e(tag,msg)  tag一般為當前類的簡單類名的一個字串  v<d<i<w<e  就是D包括v e包括全部 可以新增tag過濾器 快速的檢視輸出的資訊

  System.out.println(b);// 固定tag是System.out
  System.err.println("");// 固定tag是System.err