Versions Compared

Key

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

...

Util#checkUserData メソッドは User クラスの引数を持つメソッドのためテストの実行には User クラスを構成する要素をテストデータとして用意する必要があります。
Userクラスは以下の要素にそれぞれの getter/setter メソッドを持つ構成です。

/**
* ユーザー名を保存します。
 */
private String name;


/**
 * ユーザーIDを保存します。
 */
private String userId;


/**
 * ユーザーの住所を保存します。
 */
private String address;


/**
 * ユーザーのメールアドレスを保存します。
 */
private String email;


/**
 * ユーザーの電話番号を保存します。
 */
private String phone;


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

...

   一連のテストを実行するための制限時間(ミリ秒単位)を指定します。
   制限時間を超えるとテスト実行が停止し、テストは失敗します。

設定画面例)

Image Modified


4.設定画面で “OK” ボタンを押下します。


5.UTAプロジェクトのtestsフォルダにフォルダにUtilParameterizedTest.jjavaとUtilParameterizedTest_testCheckUserData_parameters.csvが作成されたことを確認します。

...

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

@Test
@FileParameters(value = "classpath:jp/co/tmx/

UtilParameterizedTest_testCheckUserData_parameters.csv", mapper = CsvWithHeaderMapper.class, encoding = "UTF-8")
@FileParameters アノテーションによるテストデータ定義用CSVファイル指定

public void testCheckUserData(

@Nullable

 @Nullable(nullIdentifier = "<NULL>") String getAddressResult,

@Nullable

 @Nullable(nullIdentifier = "<NULL>") String getEmailResult,

@Nullable

 @Nullable(nullIdentifier = "<NULL>") String getNameResult,

@Nullable

 @Nullable(nullIdentifier = "<NULL>") String getPhoneResult,

@Nullable

 @Nullable(nullIdentifier = "<NULL>") String getUserIdResult

) throws Throwable {
CSVファイルのデータ項目に紐づいたデータを取り込むためのパラメータ
Util

 Util underTest = new Util();

User

 User user = mock(User.class);

when

 when(user.getAddress()).thenReturn(getAddressResult);

when

 when(user.getEmail()).thenReturn(getEmailResult);

when

 when(user.getName()).thenReturn(getNameResult);

when

 when(user.getPhone()).thenReturn(getPhoneResult);

when

 when(user.getUserId()).thenReturn(getUserIdResult);

boolean

 boolean result = underTest.checkUserData(user);

 // assertEquals(expected, result);

…引数の User クラスを

モック化

User#getAddress 実行時に戻り値としてCSV から取得したデータを格納。

以降、User クラスの全要素数分実施。


…テスト対象メソッドの呼び出しと戻り値の格納


7.作成された CSV ファイルの内容を確認します。

ファイルの構成は以下の通りです。

...

変更前

public void testCheckUserData(

@Nullable @Nullable(nullIdentifier = "<NULL>") String getAddressResult,
@Nullable @Nullable(nullIdentifier = "<NULL>") String getEmailResult, @Nullable
 @Nullable(nullIdentifier = "<NULL>") String getNameResult,
@Nullable @Nullable(nullIdentifier = "<NULL>") String getPhoneResult,
@Nullable @Nullable(nullIdentifier = "<NULL>") String getUserIdResult

) throws Throwable {


変更後

public void testCheckUserData(

@Nullable @Nullable(nullIdentifier = "<NULL>") String getAddressResult,
@Nullable @Nullable(nullIdentifier = "<NULL>") String getEmailResult,
@Nullable @Nullable(nullIdentifier = "<NULL>") String getNameResult,
@Nullable @Nullable(nullIdentifier = "<NULL>") String getPhoneResult,

@Nullable @Nullable(nullIdentifier = "<NULL>") String getUserIdResult,

boolean  boolean expectedboolean 型の引数をCSVファイルに追加した項目名と同じ変数名で追加
) throws Throwable {

...