Versions Compared

Key

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

・テストメソッド作成

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

  1. ソースコードペインで Util#checkUserData メソッドを開きます。



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

    Code Block
    themeEclipse
    /**
    * ユーザー名を保存します。
     */
    private String name;
    
    /**
     * ユーザーIDを保存します。
     */
    private String userId;
    
    /**
     * ユーザーの住所を保存します。
     */
    private String address;
    
    /**
     * ユーザーのメールアドレスを保存します。
     */
    private String email;
    
    /**
     * ユーザーの電話番号を保存します。
     */
    private String phone;


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



  3. 起動した設定画面で以下の設定を確認します。※赤字が設定する値となります

    ● テストケースの追加:パラメータライズ

    作成するテストケースの形式をラジオボタンで選択します。

       ○ 通常:通常のテストケースを作成します。

       ○ パラメータライズ:パラメータライズされたテストケースを作成します。

       ○ Cobined:異なるデータでテストした場合に結果が変わるメソッドの場合にパラメータライズされたテストケースを作成します。
         結果が変わらないメソッドの場合は通常のテストケースを作成します。

    ● 1 つのテストケースに対して作成されるパラメータセットの最大数(デフォルト5)1

    パラメータライズテストケースの生成時に Jtest が自動で生成するテストデータの最大個数を定義します。
    テストデータはパラメータの型ごとに以下の画面から設定することができます。

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

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

    3) パラメータライズされたテストタイプ で パラメータライズの設定を押下します。

        Image RemovedImage Added

    4) 起動する パラメータライズの設定画面で型ごとにデフォルトのテストデータとして使用するデータを登録します。
     (本チュートリアルではデフォルトを変更せず実行してください。)

        

    ● データの生成先:Code

    パラメータライズテストケースの生成時にテストデータを、以下のどちらに定義するかをリストボックスから選択します。

     ○ Code : ソースコード内にテストデータを定義します。

     ○ CSV : プロジェクトに CSV ファイルを追加し、CSV ファイル内にテストデータを定義します。

    ● 作成されたテストの実行タイムアウト(ミリ秒):チェックボックスをOFF

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

    設定画面例)



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

  5. UTA プロジェクトの tests フォルダにUtilParameterizedTest.javaが作成されたことを確認します。
       (CSV ファイルベースのテストメソッド作成』で既にテストクラスを作成している場合はメソッドが追加されます。

  6. UtilParameterizedTest.java には2つのテストメソッドテンプレートが作成されます。
       (テストメソッド名は連番で付けられるため本チュートリアルの実施順によって異なります。)
    • testCheckUserData()
    • testCheckUserData_Parameters()

・テストメソッドの確認

  1. testCheckUserData() の確認
    生成された testCheckUserData() を確認します。

    Code Block
    themeEclipse
    @Test   // @Parameters アノテーションでテストデータを取得するメソッドを定義
    @Parameters(method = "testCheckUserData_Parameters")
    public void testCheckUserData(		// テストメソッド
    String getAddressResult, 
    String getEmailResult, 
    String getNameResult,
    String getPhoneResult, 
    String getUserIdResult) throws Throwable {
    
    	Util underTest = new Util();		// テストインスタンスの生成
    
    	User user = mock(User.class);		// checkUserDataの引数 User のモックオブジェクト呼び出し
    
    	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);		// getItemDB メソッドの呼び出し
    
    	// assertEquals(expected, result);					// getItemDB の戻り値のチェック用アサーションテンプレート
    
    }


  2. testCheckUserData_Parameters() の確認
    生成された testCheckUserData_Parameters() を確認します。

    Code Block
    @SuppressWarnings("unused")
    private static Object[][] testCheckUserData_Parameters() throws Throwable {	// データメソッド
    // パラメータ: getAddressResult={0}, 
    getEmailResult={1}, getNameResult={2}, 
    getPhoneResult={3}, getUserIdResult={4}
    
    return new Object[][] { { "", "", " ", null, "01234567890…" }};	//テストデータを返却するコード
    
    }


...