DevTest フックは、テスト ケースの開始/終了時にロジックを自動的に実行するグローバルな方法です。 フックが展開された環境のすべてのテスト ケースに、フックはそのロジックを適用します。
フックはコンパニオンと同様に動作します。フックは、テストが開始される前およびテストが完了した後に実行されます。
違いは、フックはアプリケーション レベルで定義され、DevTest のすべてのテスト ケースがフックを実行することです。 フックが存在する場合、それはすべてのテスト ケースに使用されます。
フックは、DevTest で実行されるすべてのテストに対して、テストのセットアップ ロジックまたは後処理ロジック、あるいはその両方を自動的に含めることができるメカニズムです。 フックはシステム全体にわたるコンパニオンと言えます。 フックが実行できるものはすべて、コンパニオンとしてモデル化できます。
フックは、テスト環境を設定するためや、正しく設定されていないテストまたは定義されたベスト プラクティスに従っていないテストの実行を防止するために使用されます。また、共通の操作を実施するために使用されます。
フックは DevTest クラス パスにある Java クラスです。 フックは .lisaextensions ファイルには定義されていませんが、local.properties または、lisa.properties では以下のように定義されています。
lisa.hooks=com.mypackage1.MyHook1, com.mypackage2.MyHook2
フックは、テスト ケース自体だけでなく、テスト ケースのすべてのサブプロセスの開始および終了に実行または呼び出されます。 テスト ケースに 3 つのサブプロセスがある場合、フック ロジックは 4 回実行されます。 このロジックは、メインのテストに対して 1 回、3 つの各サブプロセスに対して 1 回ずつ実行されます。
サブプロセスで startHook または endHook(あるいはその両方)の実行を防ぐには、以下のアクションを実行します。
String marker = (String)testExec.getStateValue(TestExec.FROM_PARENT_TEST_MARKER_KEY)
サブプロセスの場合にのみ、「marker」は「true」に設定されます。
if (!"true".equals(marker))
サブプロセスでは実行しない開始/終了フック ロジックは、すべてここに記述します。
フックとコンパニオンの相違点
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|