...
Util#checkUserData メソッドは User クラスの引数を持つメソッドのためテストの実行には User クラスを構成する要素をテストデータとして用意する必要があります。
Userクラスは以下の要素にそれぞれの getter/setter メソッドを持つ構成です。
/** /** /** /** /** |
2.ソースコードペインで Util#checkUserData メソッドを選択し、単体テストアシスタントビューで をクリックします。
...
一連のテストを実行するための制限時間(ミリ秒単位)を指定します。
制限時間を超えるとテスト実行が停止し、テストは失敗します。
設定画面例)
4.設定画面で “OK” ボタンを押下します。
5.UTAプロジェクトのtestsフォルダにフォルダにUtilParameterizedTest.jjavaとUtilParameterizedTest_testCheckUserData_parameters.csvが作成されたことを確認します。
...
6.作成されたテストメソッドテンプレートの内容を確認します。(テストメソッド名は連番で付けられるため本チュートリアルの実施順によって異なります。)
@Test | …@FileParameters アノテーションによるテストデータ定義用CSVファイル指定 |
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 { | …CSVファイルのデータ項目に紐づいたデータを取り込むためのパラメータ |
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); | …引数の User クラスを モック化 …User#getAddress 実行時に戻り値としてCSV から取得したデータを格納。 以降、User クラスの全要素数分実施。 …テスト対象メソッドの呼び出しと戻り値の格納 |
7.作成された CSV ファイルの内容を確認します。
ファイルの構成は以下の通りです。
...
変更前 | |
public void testCheckUserData( @Nullable @Nullable(nullIdentifier = "<NULL>") String getAddressResult, | |
▼ | |
変更後 | |
public void testCheckUserData( @Nullable @Nullable(nullIdentifier = "<NULL>") String getAddressResult, | |
boolean boolean expected | … boolean 型の引数をCSVファイルに追加した項目名と同じ変数名で追加 |
) throws Throwable { |
...