4.3. JUnit を使用してルールをテストする
テストルールが作成されたら、JUnit テストの一部として分析し、ルールが実行のすべての基準を満たしていることを確認できます。MTR ルールリポジトリーの WindupRulesMultipleTests
クラスは、複数のルールを同時にテストし、不足している要件についてフィードバックを提供するように設計されています。
前提条件
- MTR XML ルールをフォークし、クローンを作成している。このリポジトリーの場所は <RULESETS_REPO> と呼ばれます。
- テスト XML ルールを作成している。
JUnit テスト設定の作成
次の手順では、Eclipse を使用した JUnit テストの詳細を説明します。別の IDE を使用する場合は、IDE のドキュメントに記載されている JUnit テストの作成方法を参照してください。
- MTR ルールセットリポジトリーを IDE にインポートします。
カスタムルールを対応するテストとデータと共に
</path/to/RULESETS_REPO>/rules-reviewed/<RULE_NAME>/
にコピーします。これにより、以下のディレクトリー構造を作成する必要があります。ディレクトリー構造
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - トップメニューバーから 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 をクリックしてテストを開始します。
実行が完了すると、結果を分析できるようになります。すべてのテストに合格した場合は、テストルールの形式が正しく設定されています。テストにすべて合格しなかった場合は、テストに合格しなかった各問題に対処することを推奨します。