上一章中已經完成了一個簡單的測試,但是有一點不太方便:需要接上Android 裝置。這點不符合FIRST中的Fast,所以現在要來使用更快速的測試方法


Test Artifact

Android Studio 1.1 之後提供了兩種 Test Artifact,一種是上一章使用的 Android Instrumentation Tests,另外一個則是即將要介紹的 Unit Tests。Test Artifact 設定如下圖所示:

Unit Tests 設定

1. 切換 Test Artifact

點選左邊的Build Variants -> Test Artifacts -> Unit Tests

2. 測試資料夾

點選之後會發現原來的 androidTest 資料夾會變成不能使用

在src底下建立新的test資料夾,並將測試碼寫在這裡

在現在的版本中都不需要手動增加了,Android Studio 會自動建好test資料夾並新增一個ExampleTest.java

  • androidTest 資料夾對應 Android Instrumentation Tests,可以用來執行與 Android 元件相關的測試
  • test 資料夾對應 Unit Tests,無法執行與Android 元件相關的測試(但是使用Robolectric可以突破這限制)

執行測試

程式碼

public class MyMathTest {

    @Test
    public void add_first_1_second_2_equals_3(){
        //arrange
        int first = 1;
        int second = 2;
        int expect = 3;
        MyMath myMath = new MyMath();

        //act
        int actual = myMath.add(first, second);

        //assert
        Assert.assertEquals(expect, actual);
    }

}

這邊的測試碼風格與上一章不同,這裡使用Junit4 來執行測試

4. 執行

與上一次測試一樣,在 MyMathTest 點擊右鍵->Run 'MyMathTest'。 最後執行,綠燈通過測試!!

results matching ""

    No results matching ""