...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
・テストメソッド作成
Util#checkUserData メソッドをテストするメソッドを作成します。
コンソールペインで Util#checkUserData メソッドを開きます。
Util#checkUserData メソッドは User クラスの引数を持つメソッドのためテストの実行には User クラスを構成する要素をテストデータとして用意する必要があります。
Userクラスは以下の要素にそれぞれの getter/setter メソッドを持つ構成です。Code Block theme Eclipse /** * ユーザー名を保存します。 */ private String name; /** * ユーザーIDを保存します。 */ private String userId; /** * ユーザーの住所を保存します。 */ private String address; /** * ユーザーのメールアドレスを保存します。 */ private String email; /** * ユーザーの電話番号を保存します。 */ private String phone;
ソースコードペインで Util#checkUserData メソッドを選択し、単体テストアシスタントビューで をクリックします。
- 起動した設定画面で以下の設定を確認します。※赤字が設定する値となります
● テストケースの追加:パラメータライズ作成するテストケースの形式をラジオボタンで選択します。
○ 通常:通常のテストケースを作成します。
○ パラメータライズ:パラメータライズされたテストケースを作成します。
○ Combined:異なるデータでテストした場合に結果が変わるメソッドの場合にパラメータライズされたテストケースを作成します。
結果が変わらないメソッドの場合は通常のテストケースを作成します。
● 1 つのテストケースに対して作成されるパラメータセットの最大数(デフォルト5):3
パラメータライズテストケースの生成時に Jtest が自動で生成するテストデータの最大個数を定義します。
テストデータはパラメータの型ごとに以下の画面から設定することができます。1) メニューの [Parasoft] > [設定] を選択して設定ダイアログを開きます。
2) [Parasoft] > [単体テスト アシスタント] を選択します。
3) パラメータライズされたテストタイプ で ”パラメータライズの設定” を押下します。
4) 起動する “パラメータライズの設定” 画面で型ごとにデフォルトのテストデータとして使用するデータを登録します。
(本チュートリアルではデフォルトを変更せず実行してください。)● データの生成先:CSV
パラメータライズテストケースの生成時にテストデータを、以下のどちらに定義するかをリストボックスから選択します。
(本チュートリアルでは CSV を選択してください。)○ Code : ソースコード内にテストデータを定義します。
○ CSV : プロジェクトに CSV ファイルを追加し、CSV ファイル内にテストデータを定義します。
● 作成されたテストの実行タイムアウト(ミリ秒):チェックボックスをOFF
一連のテストを実行するための制限時間(ミリ秒単位)を指定します。
制限時間を超えるとテスト実行が停止し、テストは失敗します。設定画面例)
- 設定画面で “OK” ボタンを押下します。
- UTAプロジェクトのtestsフォルダにUtilParameterizedTest.jjavaとUtilParameterizedTest_testCheckUserData_parameters.csvが作成されたことを確認します。
| …@FileParameters アノテーションによるテストデータ定義用CSVファイル指定 …CSVファイルのデータ項目に紐づいたデータを取り込むためのパラメータ …引数の User クラスをモック化 …User#getAddress 実行時に戻り値としてCSV から取得したデータを格納。 …テスト対象メソッドの呼び出しと戻り値の格納 |
作成されたテストメソッドテンプレートの内容を確認します。(テストメソッド名は連番で付けられるため本チュートリアルの実施順によって異なります。)
Code Block theme Eclipse @Test …@FileParameters アノテーションによるテストデータ定義用CSVファイル指定 @FileParameters(value = "classpath:jp/co/tmx/ UtilParameterizedTest_testCheckUserData_parameters.csv", mapper = CsvWithHeaderMapper.class, encoding = "UTF-8") public void testCheckUserData( @Nullable(nullIdentifier = "<NULL>") String getAddressResult, @Nullable(nullIdentifier = "<NULL>") String getEmailResult, @Nullable(nullIdentifier = "<NULL>") String getNameResult, @Nullable(nullIdentifier = "<NULL>") String getPhoneResult, @Nullable(nullIdentifier = "<NULL>") String getUserIdResult ) throws Throwable { Util underTest = new Util(); User user = mock(User.class); when(user.getAddress()).thenReturn(getAddressResult); when(user.getEmail()).thenReturn(getEmailResult); when(user.getName()).thenReturn(getNameResult); when(user.getPhone()).thenReturn(getPhoneResult); when(user.getUserId()).thenReturn(getUserIdResult); boolean result = underTest.checkUserData(user); // assertEquals(expected, result); }
- 作成された CSV ファイルの内容を確認します。
ファイルの構成は以下の通りです。
● 1行目:テストデータ項目名
...