Java ユニットテストの書き方
Java ユニットテストの記述には、次のような手順が含まれます。
- JUnitフレームワークのインポート:Javaプロジェクトでは、JUnitフレームワークのインポートから開始する必要があります。JUnitの依存関係をMavenやGradleでインポートするか、またはJUnitのJARファイルをダウンロードして手動でプロジェクトに追加します。
- 被テストクラスに対応したテストクラスを作成する。テストクラスの命名規則は、被テストクラスのクラス名に「Test」を付与する。例:被テストクラスが「Calculator」の場合、テストクラスは「CalculatorTest」となる。
- テストメソッドを追加する。テストクラスでは、テストするメソッドごとに対応するテストメソッドを作成する。テストメソッドには必ず@Testアノテーションを付ける。
- テストコードを作成する:テストメソッド内で、テスト対象メソッドの機能が正しく動作するかを検証するためのテストコードを作成します。この場合、往々にしてアサーションを使用して、実際の結果が期待された結果と一致しているかどうかを判断します。JUnitには、assertEquals、assertTrue、assertFalseなど、様々にアサーションメソッドが備わっています。
- テストの実行:JUnitテストランナーを使用してユニットテストを実行します。IDEの内蔵JUnitテストランナーを使用することも、コマンドラインツールを使用してテストを実行することもできます。テストランナーはテストメソッドを自動的に実行し、テスト結果を出力します。
簡単な例を次に示します。
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calculator = new Calculator();
int result = calculator.add(2, 3);
assertEquals(5, result);
}
}
上記の例ではCalculatorTestというテストクラスを作成して、その中にtestAdd()というテストメソッドを加えました。テストメソッドの中ではCalculatorオブジェクトを作成して、そのadd()メソッドを呼び出して、実際に得られた結果が想定する結果と等しいかassertEqualsアサーションメソッドによって確かめています。