Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

ここでは単体テストアシスタントを利用してテスト対象のメソッドに対して、カバレッジが計測されていないコードを検出してテストケースを追加する方法を確認します。

・機能を有効化

本章で使用する機能を有効化します。

 1.メニューの [Parasoft] > [設定] を選択して設定ダイアログを開きます。

 2.[Parasoft] > [単体テスト アシスタント] を選択します。

 3.[推奨] で “カバーされていないコード” チェックボックスを有効化します。(デフォルトでは無効化されています。)

    Image Removed

・テストメソッド作成

Util#checkUserData メソッドをテストするメソッドを作成します。

 1.ソースコードペインで Util#checkUserData メソッドを選択します。
    Image Removed

 2.単体テストアシスタントビューで Image Removedをクリックします。
    Image Removed

 3.テストメソッドテンプレートが UTA プロジェクトの tests フォルダ内に作成されます。
    Image Removed

 4.作成されたテストメソッドテンプレートの内容を確認します。(テストメソッド名は連番で付けられるため本チュートリアルの実施順によって異なります。)

...

…テストメソッド

...

…テストインスタンスの生成

...

User user = null; // UTA: デフォルト値

...

 5.checkUserData(User) メソッドの引数を入力します。次のコードを変更します。

...

User user = new User();

...

 6.アサーションのコメントアウト外し、コードを有効化します。

...

 7.変更後のファイルを保存し、プロジェクトのビルドが正常に行われることを確認します。

・テスト実行と結果確認

作成したテストメソッドを実行します。

 1.ソースコードペインでUtilTest#testCheckUserData メソッドを選択し、単体テストアシスタントビューで Image Removedをクリックします。

 2.実行後、推奨ビューに以下の推奨事項が表示されます。

    Image Removed

テストメソッドの実行により、テスト対象 Util#checkUserData メソッドにカバーされていないコードがあることが指摘されました。

計測したカバレッジ (33)

Image Removed

ラインの色はそれぞれ以下のことを意味しています。

...

今回作成したテストメソッドは Util#getUserId メソッドの戻り値が null となるテストデータであり、47 行目で return文が実行されそれ以降の行は実行されていないことがわかります。

Image Removed

・テストメソッド追加

推奨ビューを使用してテストメソッドを追加します。

 1.推奨事項ビューの Image Removedをクリックして UtilTest#testCheckUserData テストメソッドを複製します。

     Image Removed

 2.生成されたテストメソッド (UtilTest#testCheckUserData2 メソッド) を変更します。
  (テストメソッド名は連番で付けられるため本チュートリアルの実施順によって異なります。)

...

User user = new User();

...

...

User user = new User();
user.setName("name");
user.setUserId("userid");

...

 3.変更後のファイルを保存し、プロジェクトのビルドが正常に行われることを確認します。

 4.単体テストアシスタントビューの Image Removed で作成した2つのテストメソッドを実行します。

 5.実行後カバレッジを確認します。

  計測したカバレッジ(58%)

 Image Removed

 6.推奨事項ビューを確認します。

  Image Removed

  同様の指摘が表示されている事が確認できます。テストメソッド追加の手順を繰り返し、すべてのコードをカバーすると、この指摘は表示されなくなります。

・パラメータライズされたテストの実施

ここでは単体テストアシスタントを利用してテスト対象のメソッドに対して、複数パターンの入力値を一回の実行で検証するためパラメータライズドされたテストメソッドの作成から実行までを確認します。

・ライブラリ選択

  単体テストアシスタントが作成するパラメータライズドされたテストメソッドの生成には以下のいずれかのライブラリを利用します。

      ①JUnitParams

   ②Junit4Parameterized

本チュートリアルでは “①JUnitParams” を利用します。以下の手順でライブラリが正しく選択されていることを確認してください。

 1.メニューの [Parasoft] > [設定] を選択して設定ダイアログを開きます。

 2.[Parasoft] > [単体テスト アシスタント] を選択します。

 3.パラメータライズされたテストタイプ でJUnitParams (CSV データ入力に必要) を選択します。

Image Removed

※この先の手順で行う CSV ファイルベースのテストケースの生成は JUnitParams だけでサポートしており、Junit4Parameterized を選択している場合はご利用いただけませんのでご注意ください。

Child pages (Children Display)