Android Studio 單元測試

在功能測試有時要經過Log來驗證,每次編譯都須要時間,對於一些功能測試能夠用Android Studio自帶的單元測試功能進行調試;
android

在新建項目時,Android studio就已經集成了二個單元測試文件夾(androidTest和test目錄 ): 工具

 

 

測試用例 單元測試

若是測試的代碼沒有使用android Sdk中的環境,可在test目錄下新建一個測試類; 測試

1、Test測試模式 ui

因as自動生成了一個ExampleUnitTest類,就在此類中新建測試方法以下: this

 

測試方法即public void的方法,而且加上@Test註解,這是Junit的標準用法; url

public class ExampleUnitTest {
    @Test
    public void addition_isCorrect() throws Exception {
        assertEquals(42);
    }
    @Test
    public void getRequest(){
         OkhttpDemo okhttpDemo=new OkhttpDemo();
 okhttpDemo.getRequest(); spa

} 線程

 

public class OkhttpDemo { 3d

    String url "http://www.wooyun.org";
    final OkHttpClient client new OkHttpClient();
                .get()
                .tag(this)
                .url(url)
                .build();
        try {
            Response response = null;
            response = client.newCall(request).execute();
            if (response.isSuccessful()) {
//                Log.i("WY", "打印GET響應的數據:" + response.body().string());
                System.out.print(response.body().string());
            } else {
                throw new IOException("Unexpected code " + response);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

}
}

右擊要測試的方法

顯示結果以下:

 

若有打印語句,結果卻顯示以下:

 

 

這時就要檢查代碼中是否含有android 代碼!

注意該Test模式與AndroidTest模式(extends InstrumentationTestCase 測試方式)下開線程,是不能打印出日誌!!Activity模式( extends ActivityInstrumentationTestCase2<MainActivity>徹底,模擬Actvity,能夠運行!

二.AndroidTest模式

代碼格式

測試類名 extends InstrumentationTestCase{}

其餘代碼與Test相似,參考Test模式!

注意其中測試方法要以test開頭!

 

3、Android Activity模式

代碼格式

測試類名 extends ActivityInstrumentationTestCase2<要測試的Activity>{}

 

 

 

運行測試報錯以下:

 

 

 

 

把用工具自動生成的構造器改爲不帶參數的



最後,就是能夠直接在 class中寫 main()方法進行功能測試(不能含有android方面的代碼):

 

 

右鍵方法名,以下圖:


 

 

Android studio 在功能與方便上面 真是 完爆 Eclipse啊!  

運行 OK;



相關文章
相關標籤/搜索