ここでは単体テストアシスタントと構成管理ツールを連携してローカル上で行われたソースコードの変更に影響の受けるテストケースを検出する方法を確認します。
本機能には以下の制限事項があります。
- Jtest 10.4.0 以上を利用していること
- Jtest Plugin for Eclipse にxml ベースのカバレッジデータがインポートできること
以下のいずれかが出来る必要があります。
(いずれもEngine エディションが必要です。Engine エディションの評価をご希望の場合はお問い合わせ先までお問い合わせください。)
※ Jtest を Apache Maven、 Apache Ant、 またはGradle にプラグインして単体テストコードを実行してxml を生成できる
※ DTP Standard にパブリッシュされたカバレッジデータを Jtest Plugin for Eclipse でローカルにインポートできる
- テストケースが JUnit4 または JUnit5 で作成されていること
- Apache Subversion (SVN) または Git を利用していること
テストメソッド作成
Util#checkDateFormat メソッドを変更した場合に、影響が出るテストメソッドを作成します。
テストメソッド作成①
Util#checkDateFormat メソッド用のテストメソッドを作成します。
- ソースコードペインで Util#checkDateFormat を選択し、単体テストアシスタントビューの「+通常」をクリックします。
作成されたテストメソッド UtilTest#testCheckDateFormat を変更します。
① テストデータの変更Code Block theme Eclipse 変更前 String date = ""; ▼ 変更後 String date = "2018/12/31";
② アサーションの変更Code Block 変更前 // assertFalse(result); ▼ 変更後 assertTrue(result);
変更後のテストメソッドのコンパイルが正常に行われることを確認します。
ソースコードペインで UtilTest#testCheckDateFormat を選択し、単体テストアシスタントビューの 「testCheckDateFormatの実行」をクリックします。
テストメソッドの実行によりテストが成功したことを確認します。
テストメソッド作成②
Order#setDate メソッド用のテストメソッドを作成します。
- ソースコードペインで Order#setDate を選択し、単体テストアシスタントビューの「+通常」をクリックします。
作成されたテストメソッド OrderTest#testSetDate を変更します。
① テストデータの変更Code Block theme Eclipse 変更前 String date = ""; ▼ 変更後 String date = "2018/12/31";
② アサーションの変更Code Block theme Eclipse 新規追加 assertNull(underTest.getItem()); assertNull(underTest.getUserId()); assertNotNull(underTest.getDate()); assertEquals("2018/12/31", underTest.getDate());
- 変更後のテストメソッドのコンパイルが正常に行われることを確認します。
- ソースコードペインで OrderTest#testSetDate を選択し、単体テストアシスタントビューの「testSetDate」をクリックします。
- テストメソッドの実行によりテストが成功したことを確認します。
ソースコード登録
UTA プロジェクトのソースコードを構成管理ツール (Apache Subversion (SVN) または Git) に登録します。
カバレッジインポート
- 単体テスト実行
作成したテストメソッドを単体テストをコマンドラインで実行を参考に実行します。 - カバレッジデータインポート
実行した単体テストのカバレッジ計測結果をDTP Standard から結果をインポートまたはレポートファイルから結果をインポートを参考に Eclipse にインポートします。
ソースコード変更
Util#checkDateFormat の以下のコードを変更します。
Code Block | ||
---|---|---|
| ||
変更前 DateFormat df = new SimpleDateFormat("yyyy/MM/dd"); ▼ 変更後 DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); |
ソースコードのビルドが通ることを確認します。
変更ベーステスト
Util#checkDateFormat のソースコード変更により影響を受けるテストメソッドを実行し、テストメソッドを修正します。
テストメソッド修正①
Util#checkDateFormat メソッド用のテストメソッドを修正します。
- 「影響を受ける単体テスト」ビューのUtilTest#testCheckDateFormat を右クリックし、「選択されたテストの実行」をクリックします。
- 単体テストケースが実行され、テストケースが失敗することを確認します。
- 推奨事項ビューの 「アサーションの反転」をクリックします。
UtilTest#testCheckDateFormat のアサーションが変更されたことを確認します。 - 単体テストアシスタントビューの「testCheckDateFormat の実行」をクリックしてアサーション変更後のテストメソッドを実行します。
- テストメソッドの実行が成功したことを確認します。
テストメソッド修正②
Order#setDate メソッド用のテストメソッドを修正します。
- 「影響を受ける単体テスト」ビューのOrderTest#testSetDateを右クリックし、「選択されたテストの実行」をクリックします。
- 単体テストケースが実行され、テストケースが失敗することを確認します。
- 推奨事項ビューの 「アサーションの更新」をクリックします。
OrderTest#testSetDate のアサーションが変更されたことを確認します。 - 単体テストアシスタントビューの「testSetDateの実行」をクリックしてアサーション変更後のテストメソッドを実行します。
- テストメソッドの実行が成功したことを確認します。