4.3. JUnit を使用してルールをテストする


テストルールが作成されたら、JUnit テストの一部として分析し、ルールが実行のすべての基準を満たしていることを確認できます。MTR ルールリポジトリーの WindupRulesMultipleTests クラスは、複数のルールを同時にテストし、不足している要件についてフィードバックを提供するように設計されています。

前提条件

  • MTR XML ルールをフォークし、クローンを作成している。このリポジトリーの場所は <RULESETS_REPO> と呼ばれます。
  • テスト XML ルールを作成している。

JUnit テスト設定の作成

以下の手順では、Red Hat CodeReady Studio を使用して JUnit テストを作成する方法を説明します。別の IDE を使用する場合は、IDE のドキュメントに記載されている JUnit テストの作成方法を参照してください。

  1. MTR ルールセットリポジトリーを IDE にインポートします。
  2. カスタムルールを対応するテストとデータと共に </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>.windup.xml*  _(Custom rule)_
    │   │   ├── *tests/*  _(Directory that contains any test rules and data)_
    │   │   │   ├── *<RULE_NAME>.windup.test.xml* _(Test rule)_
    │   │   │   └── *data/*  _(Optional directory to contain test rule data)_

  3. トップメニューバーから Run を選択します。
  4. 表示されるドロップダウンメニューから Run Configurations…​ を選択します。
  5. 左側のオプションから JUnit を右クリックし、New を選択します。
  6. 以下のコマンドを入力します。

    • Name: JUnit テストの名前 (例: WindupRulesMultipleTests)。
    • Project: windup-rulesets に設定します。
    • Test class: org.jboss.windup.rules.tests.WindupRulesMultipleTests に設定します。

      junit テスト
  7. Arguments タブを選択し、-DrunTestsMatching=<RULE_NAME> 仮想マシン引数を追加します。たとえば、ルール名が community-rules であった場合は、以下のイメージのように -DrunTestsMatching=community-rules を追加します。

    junit テスト引数
  8. 右下隅の Run をクリックしてテストを開始します。

    実行が完了すると、結果を分析できるようになります。すべてのテストに合格した場合は、テストルールの形式が正しく設定されています。テストにすべて合格しなかった場合は、テストに合格しなかった各問題に対処することをお勧めします。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.