はじめに
Android studioで簡単なUnit Testを行ってみました。
使用言語はJavaです。
Javaのテストといえば「JUnit」ですが、Android studioでもJUnitを用いてテストを行います。
テスト用のクラスを作る
テストで使用するクラスを作成します。
package com.example.sampleapplication;
public class Hoge {
private String name;
private int age;
public Hoge(String name, int age) {
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public String selfIntroduction() {
String text = "私の名前は"+name+"です。年齢は"+age+"歳です。";
return text;
}
}
適当なメソッドにカーソルを合わせ、Ctrl+shift+Tを押し、「Create Test」を選択します。
SetUpとtearDownは、テスト内容に応じてチェックを入れてください。
また全メソッドをテストしたい場合、Memberのチェックを全てONにしてください。
OKを押すと、テスト用のクラスがmodule-name/src/test/
配下に作成されます。
テストを記述する
↓が作成されたテストファイルに、テスト内容を記述したものになります。
package com.example.sampleapplication;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class HogeTest {
Hoge hoge;
@Before
public void setUp() throws Exception {
hoge = new Hoge("太郎", 20);
}
@Test
public void getAge() {
assertEquals(10, hoge.getAge());
}
@Test
public void getName() {
assertEquals("太郎", hoge.getName());
}
@Test
public void selfIntroduction() {
String name = hoge.getName();
int age = hoge.getAge();
assertEquals("私の名前は"+name+"です。年齢は"+age+"歳です。", hoge.selfIntroduction());
}
}
SetUpにチェックを付けると、@Before
から始まるメソッドを用意してくれます。
こちらは、各テストメソッドを実行する前に都度実行してくれるSetUpメソッドになります。
今回はHoge.javaをインスタンス化してくれてます。
@Test
から始まっている部分が、テストメソッドになります。
テストの実施
Ctrl+shift+F10か、テストファイルを右クリックして「Run ファイル名」を選択することで、テストを走らせることができます。
結果は以下のように出力されます。
こちらは全テストが無事通ったケースです。
テストに失敗した場合、このような表示です。
終わりに
Android studioでのUnit testの実施は比較的簡単でした。
今回はassertEqualsを使った簡単なテストしか行っていませんが、
Androidのアプリ開発を行うなら、しっかりJunitの使い方も勉強しなければなりませんね。
こちらの記事では、Junitしか使用していませんが、
テスト用のライブラリを使用する場合、依存関係をbuild.gradleに記述する必要があります。
詳しくは、デベロッパーガイドをご確認ください。