次のページへテストケースを自動生成するには?準備ができたら、早速テストケースを生成してみましょう。Eclipse上のJavaプロジェクトでビルドエラーを解決した状態にします。Tests]を選択します。Factoryのサーバに送信されテストケースが生成されます。Factory]ビューが表示され、生成されたテストケース名とカバレッジが表示されます(図8)。Factory]ビューの結果に表示されているテストケース名をクリックすると、生成されたテストケースが表示されます。図8の例では、筆者が開発する形態素解析器の「Sen」を例にテストケースを生成しましたが、非常に高いカバレッジでテストケースが生成されているのが分かります。Factoryはソースコードを解析し、メソッド中の条件分岐を基にテストコードを生成します。「アグレッシブモック」と呼ばれるモックを利用したモックオブジェクトの生成やprivateフィールドへの値の設定を利用し、JUnitのテストケースが困難なケースに対してもテストケースを生成します。Senの例で見ると、クラスViterbiに次のようなメソッドがあります。上記のようなメソッドに対して、次のテストコードを生成します。生成されたテストケースを見ると、無理やりな印象を受けないでもないですが、モックオブジェクトやプライベートフィールドへのアクセスなどを利用して、オブジェクトの生成と値の設定、確認を行う高度なテストケースが出力されているのが分かります。このように、モックオブジェクトとプライベートフィールドへのアクセッサを利用することにより、高カバレッジのテストケースを生成します。Factoryビュー内に警告が表示されます(図9)。Factory]ビュー内の「Warning」をクリックすると、テストケース生成のためのヒントが表示されます(図10)。テストケース生成のためのヒントモックを利用したテストケースはテスト内容が非常に分かりづらくなることがあります。そのような場合は、ヘルパクラスを利用してインスタンスを取得するようにすると、分かりやすいコードにできます。ヘルパクラスの利用については、Eclipseのヘルプファイルに利用方法が書いてあるので、そちらをご覧ください。各コードをチェックすると、カバレッジ計測時に実行されたコード(緑の部分)と未実行のコード(ピンクの部分)を確認できます(図11)。カバレッジ左のカバレッジ表示領域にマウスのカーソルを合わせると、詳細な情報がポップアップで表示されます。Factoryはすべてのテストケースを生成してくれるわけではありません。カバレッジが満たされない部分は開発者がテストコードを追加する必要があります。Factoryを実際に使う際の注意点、保守性が高いコードかどうか計測するCrap4jについても解説します。あなたのソースコードが保守しやすいかどうか、試してみましょう。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。