このレッスンでは、ガイドに従ったテスト作成プロセスの基本を学びます。UTA を使用して以下を行う方法を学びます。
- テストの作成
- オブジェクトのインスタンス化
- テスト コードの変更
- テストの隔離
- テストの改善
- アサーションの作成
このレッスンでは、transaction オブジェクトを受け取る apply() メソッドの単体テストを作成します。このメソッドの単体テストを手動で作成し、依存関係からテストを隔離するのは、面倒で複雑な作業になる可能性があります。単体テスト アシスタントは、より簡単かつすばやくテストを作成し、隔離できるようガイドします。
- パッケージ エクスプローラーで [jtest-examples> src/main/java> examples> nbank] に移動します。
- Account.java をダブルクリックしてクラスをエディターで開きます。
- apply() メソッドの任意の場所をクリックします。
- 単体テスト アシスタント ビューの [通常] アクションをクリックし、JUnit テストを作成して初期テストのセットアップを実行します。
テストには必要なオブジェクトおよび変数の宣言のほか、コメントによって示されたデフォルト値が含まれています。
- 'customer' オブジェクトを含む行を選択し、単体テスト アシスタント ビューの ["customer" のインスタンス化] をクリックしてオブジェクトをインスタンス化します。
UTA は自動的にテスト コードを更新します。
- テスト コードのコメントが示すように、デフォルトの UTA 値を意味のあるデータに置き換えます。
- スクロール ダウンし、テスト作成時に UTA が apply() メソッドに渡される transaction オブジェクトをモック化するために自動生成したヘルパー メソッドを探します。UTA は Mockito および Powermock を使用してテスト コードを隔離できます。
- デフォルトの UTA を変更して
boolean
にtrue
を設定し、feeResult
変数の値を変更します。
- 単体テスト アシスタント ビューで ["testApply" の実行] をクリックしてテストを実行します。
推奨事項ビューに、テストにアサーションがないという情報が表示されます。次のステップでは、手動でアサーションを追加するか、追跡オプションを使用して UTA にアサーションを生成させます。このオプションを使用すると、UTA はオブジェクトをモニターしてメソッド実行前後の状態を比較します。実行時に特定の値がどのように変化したかを基に、UTA は有効なアサーションを提示します。
- 'Assertions' 推奨事項の [Track apply] リンクをクリックし、メソッド呼び出しをモニターして利用可能なアサーションを表示します。
- [アサーションの作成] リンクをクリックし、利用可能なアサーションを使用するようテスト コードを更新します。
- テストを再実行します。