AndroidのテストをJUnit4に対応する

AndroidをJUnit4を使ったテストに変更します。

今までのテストは以下の通りにAndroidTestCaseを使っていました。

public class HogeTest extends AndroidTestCase {
    public void testHige() {
        Hige hige = createHige(getContext());
        assertThat("check hige", hige, is(notNullValue()))
    }
}

Developers – Building Instrumented Unit Testsの通りにbuild.gradleを設定し、上記のテストケースを書き換えます。

@RunWith(AndroidJUnit4.class)
public class HogeTest {
    @Test
    public void hige() {
        Hige hige = createHige(InstrumentationRegistry.getContext());
        assertThat("check hige", hige, is(notNullValue()))
    }
}

変わった点は、継承がなくなったためContextの取得方法が違う点といくつかのアノテーションの追加になります。
必要であればInstrumentationRegistryからContextをするようにとAndroidJUnitRunnerのドキュメントに記述されていました。

参考