単体テストアシスタントの概要
単体テストアシスタントでは、JUnitを用いた単体テストを効率化するための機能を提供しています。
本章では単体テストアシスタントが提供する各機能の概要について説明いたします。
テストメソッドテンプレート作成
クラスやメソッドの単位で JUnit テストメソッドのテンプレートを作成する機能です。
Jtest がテスト対象メソッドの呼び出しやパラメータの定義を自動的にテストメソッド内に記述するため、開発者は用意したテストデータに合わせてテンプレートを変更するだけで単体テストを実行できます。
モック作成
テスト対象メソッドの呼び出しに必要なオブジェクトをモック (Mockitoを利用) として作成する機能です。開発者は Jtest が提案する内容からモックを作成するオブジェクトを選択するだけでモックが作成できます。
アサーション作成
テストの成功可否(テスト対象メソッドの実装が正しいかどうか)を判断するために使用するアサーションの作成を支援する機能です。
Jtest はテストメソッドテンプレートの作成時にアサーションメソッドのテンプレートも合わせて作成するため、開発者は用意したテストデータに合わせてメソッドの期待する戻り値をテンプレートに設定します。
その他、テストメソッド実行時の値を期待値としたアサーションを作成する機能、テスト対象クラスの状態が変わった場合にテスト対象クラスを検証するためのアサーションのテンプレートを作成する機能があります。
カバレッジ計測
テスト実行時に行カバレッジ (C0) を計測します。
計測したカバレッジはメソッド単位~プロジェクト単位で数値化 (パーセンテージ) されるほか、実行/未実行をソースコードの行ごとに色づけしてビジュアル的に確認することができます。
また、一定以上のコードカバレッジを計測できない場合に、カバレッジを向上させるためのテストケースの作成を開発者に促します。
実行時データ収集
単体テスト実行時に、実行された処理の経路 (スタックトレース) やテストメソッド内の変数の遷移、モックの呼び出し、発生した例外情報などを収集いたします。
開発者はテストが失敗した場合に収集されたデータから次のアプローチを決めることができます。