在本文中,你將會學習到如何在Eclipse中創建Android JUnit的單元測試工程以及在不同的條件下創建及運行自動測試用例。
準備工作
本文假設讀者已經有一定的Android基礎知識,并且已經安裝了Eclipse和Android SDK等開發工具。本文將指導讀者如何將Android Junit框架應用到Android應用中去。本文還特別重點展示了如何測試Android中的Activity和如何識別程序中的錯誤。
本文的示例代碼可以在http://code.google.com/p/simple-calc-unit-testing/中下載
步驟1 被測試的應用SimpleCalc概況
在本文中,將以一個寫好了的應用SimpleCalc簡單計算器為例子進行講解。這個簡單計算器有兩個功能,允許用戶輸入兩個數并將它們相加或相乘,最后顯示結果,如下圖所示:

步驟2 SimpleCalc的的界面設計
由于應用比較簡單,只占一屏,所以我們在/res/layout/main.xml中設計如下代碼所示:
<linearlayout p="" <="" xmlns:android="http://schemas.android.com/apk/res/android" style="line-height: normal !important;"> android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <textview p="" <="" android:layout_width="fill_parent" style="line-height: normal !important;"> android:layout_height="wrap_content" android:text="@string/hello" android:gravity="center_horizontal" android:textSize="48px" android:padding="12px" /> <edittext p="" <="android:id="@+id/value1" android:layout_height="wrap_content" style="line-height: normal !important;"> android:hint="@string/hint1" android:inputType="numberDecimal" android:layout_width="fill_parent" android:textSize="48px"> <edittext p="" <="android:id="@+id/value2" android:layout_height="wrap_content" style="line-height: normal !important;"> android:hint="@string/hint2" android:inputType="numberDecimal" android:layout_width="fill_parent" android:textSize="48px"> <framelayout p="" <="android:id="@+id/FrameLayout01" style="line-height: normal !important;"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="12px" android:background="#ff0000"> <linearlayout p="" <="" android:id="@+id/LinearLayout02" style="line-height: normal !important;"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:background="#000000" android:padding="4px"> <textview p="" <="" android:layout_width="wrap_content" style="line-height: normal !important;"> android:layout_height="wrap_content" android:text="@string/resultLabel" android:textSize="48px" android:id="@+id/resultLabel"> <textview p="" <="" android:layout_width="wrap_content" style="line-height: normal !important;"> android:layout_height="wrap_content" android:id="@+id/result" android:textSize="48px" android:textStyle="bold" android:layout_marginLeft="16px"> <linearlayout p="" <="" android:id="@+id/LinearLayout03" style="line-height: normal !important;"> android:layout_height="wrap_content" android:layout_width="fill_parent"> <button p=" android:id="@+id/addValues" android:layout_height="wrap_content"> android:text="@string/add" android:textSize="32px" android:layout_width="wrap_content"> <button p="" <=" android:id="@+id/multiplyValues" android:layout_height="wrap_content"> android:text="@string/multiply" android:textSize="32px" android:layout_width="wrap_content"> |
簡單解析一下這個界面設計,我們使用了LinearLayout,以使得控件能在垂直方向豎向排列。界面中包括了顯示標題“Unit Testing Sample”的textview,兩個輸入數字的edittext控件,一個FrameLayout控件中包含了一個水平的LinearLayout,在這個LinearLayout包含了一個顯示結果的textview以及其提示文字“Result”,注意的是FrameLayout的背景顏色設置為紅色,而LinearLayou設置成了黑色背景。