4.3. JUnit を使用してルールをテストする
テストルールが作成されたら、JUnit テストの一部として分析し、ルールが実行のすべての基準を満たしていることを確認できます。MTA ルールリポジトリーの WindupRulesMultipleTests
クラスは、複数のルールを同時にテストし、不足している要件についてフィードバックを提供するように設計されています。
前提条件
- MTA XML ルールをフォークし、クローン します。このリポジトリーの場所は RULESETS_REPO と呼ばれます。
- テスト XML ルール を作成します。
JUnit テスト設定の作成
以下の手順では、Red Hat Developer Studio を使用して JUnit テストを作成する方法を説明します。別の IDE を使用する場合は、JUnit テストの作成方法について IDE のドキュメントを参照してください。
- MTA ルールセットリポジトリーを IDE にインポートします。
カスタムルールを対応するテストとデータと共に
/path/to/RULESETS_REPO/rules-reviewed/RULE_NAME/
にコピーします。これにより、以下のディレクトリー構造を作成する必要があります。ディレクトリー構造
├── rules-reviewed/ (Root directory of the rules found within the project) │ ├── RULE_NAME/ (Directory to contain the newly developed rule and tests) │ │ ├── RULE_NAME.rhamt.xml (Custom rule) │ │ ├── tests/ (Directory that contains any test rules and data) │ │ │ ├── RULE_NAME.rhamt.test.xml (Test rule) │ │ │ └── data/ (Optional directory to contain test rule data)
├── rules-reviewed/ (Root directory of the rules found within the project) │ ├── RULE_NAME/ (Directory to contain the newly developed rule and tests) │ │ ├── RULE_NAME.rhamt.xml (Custom rule) │ │ ├── tests/ (Directory that contains any test rules and data) │ │ │ ├── RULE_NAME.rhamt.test.xml (Test rule) │ │ │ └── data/ (Optional directory to contain test rule data)
Copy to Clipboard Copied! - トップメニューバーから Run を選択します。
- 表示されるドロップダウンメニューから Run Configurations… を選択します。
- 左側のオプションから JUnit を右クリックし、New を選択します。
以下の設定を入力します。
-
Name: JUnit テストの名前 (例:
WindupRulesMultipleTests
)。 -
Project: これが
windup-rulesets
に設定されていることを確認します。 Test class: これを
org.jboss.windup.rules.tests.WindupRulesMultipleTests
に設定します。
-
Name: JUnit テストの名前 (例:
Arguments タブを選択し、
-DrunTestsMatching=RULE_NAME
仮想マシン引数を追加します。たとえば、ルール名がcommunity-rules
であった場合は、以下のイメージのように-DrunTestsMatching=community-rules
を追加します。- 右下隅の Run をクリックしてテストを開始します。
実行が完了すると、結果を分析できるようになります。すべてのテストに合格した場合は、テストルールの形式に問題はありません。それ以外の場合は、テストの失敗で発生した各問題に対処することをお勧めします。発生する可能性のあるエラーの詳細については、検証レポートの実行時に報告されたエラー を参照してください。