Android Code Coverage for Blackbox Test

Android Code Coverage for Blackbox Test

2012-03-12 13:00:00



  2.使用eclipse check out最新的版本source出來。並且建立一個針對於軟件主版本的測試工程出來。 如何在eclipse裏面建立測試工程,自行google。
  建立好測試工程之後,粘貼如下代碼:


  public class (函數名)extends ActivityInstrumentationTestCase2<Activity class name> {

        private <Activity class name> mActivity;
        private Instrumentation mInstrumentation;

        構造函數 {
                super("test package name", Activity class name);
        }

        protected void setUp() throws Exception {
                super.setUp();

                mInstrumentation = getInstrumentation();
                mActivity = this.getActivity();

        }

        protected void tearDown() throws Exception {
                super.tearDown();
        }

        public void testdemo1() throws InterruptedException {
                Thread.sleep(30000);//程序執行的時間 單位毫秒

        }

}
注:如果被測對象是service的話,android也提供了測試service的類,extends相關的類即可。之後代碼可能有少量改變,具體參照SDK Doc。

  3.接下來我們進行最主要的一步,
A.創建我們程序的build.xml
cd <main project folder>
android update project --path <目錄>

成功之後可以看到在主程序目錄下面生成了一個build.xml。
B.爲我們的測試程序創建build.xml
android update test-project -m <full path to main project> -p <path to test project>

C.啓動Coverage
Cd <path to test project>
Ant coverage
如果這步成功,我們可以在測試程序下面看到一個coverage的文件夾。裏面就是一個非常強大的report了。


注:1.如果發現編譯的過程當中出現@override error。那麼要注意jdk版本是不是1.6,另外環境變量路徑是否設置正確。
2.如果編譯過程當中出現not found symbols,那麼需要添加主程序使用的額外的lib,將lib放入被測試程序下面的libs目錄下面即可
3.如果沒有emma.jar,那麼可以升級你的sdk。或者去下載http://developer.android.com/sdk/installing.html#sdkContents

4.關於report
代碼中會有三種顏色標識. 其中,綠色的行表示該行代碼被完整的執行,紅色部分表示該行代碼根本沒有被執行,而黃色的行表明該行代碼部分被執行。黃色的行通常出現在單行代碼包含分支的情況,例如上圖中的 16 行就顯示爲黃色



發佈了53 篇原創文章 · 獲贊 17 · 訪問量 48萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章