初期セットアップ

Gradle との統合は以下のコンポーネントによって実現されています。

  • Jtest Plugin for Gradle – Jtest に同梱。ローカルの Maven リポジトリ <INSTALL_DIR>\integration\maven にあります。
  • jtest.gradle および init.gradle スクリプト。Jtest に同梱。 <INSTALL_DIR>\integration\gradle にあります。

Jtest の場所の設定

jtest.gradle および init.gradle スクリプトは、スクリプトの場所を基準として Jtest のインストール ディレクトリを検出し、その場所を jtest.home プロパティに設定します。Jtest Plugin for Gradle は、このプロパティを使用して home パラメーターを設定します。 

スクリプトを使用しない場合、またはスクリプトの場所が Jtest のインストール ディレクトリではない場合 (たとえば別の場所にコピーしたり、または別の場所で Jtest を使用する必要がある場合)、次のいずれかの方法で Jtest の場所を設定する必要があります。

  • jtest.home プロパティ: 次のどちらかのファイルで Jtest インストールディレクトリの場所を指定します。
    - $HOME/.gradle/gradle.properties
    - PROJECT_DIR/gradle.properties
  • JTEST_HOME 環境変数: Gradle 2.0 以前 の初期化スクリプトは、initscript コード ブロック内の Java システム プロパティを解決できません。初期化スクリプト <INSTALL_DIR>/integration/gradle/init.gradle は、JTEST_HOME が環境変数として設定されている場合にだけ、事前に構成された Jtest の場所を検出します。

詳細については「Types of Gradle Properties」を参照してください。

依存関係の設定

Jtest で Maven ビルドを解析およびテストするのに必要な依存関係の多くは、jtest.gradle および init.gradle スクリプトを使用して Jtest 実行を設定したときに自動的に追加されます (「Configuring Jtest Execution」を参照)。

さらに、JUnit テストを実行し、カバレッジ データを収集するには、次の例のように、Gradle のビルド スクリプトに JUnit Platform Launcher を手動で設定する必要があります。

testRuntimeOnly 'org.junit.platform:junit-platform-launcher:<version>'

使用する JUnit のバージョンに対応するバージョンのラウンチャ―が設定されていることを確認します。例: org.junit.platform:junit-platform-launcher:1.5.2

Jtest 実行の設定

Jtest Plugin for Gradle を使用する前に、以下のいずれかの .properties ファイルで Jtest のライセンスを設定します。

  • <INSTALL_DIR>/jtestcli.properties
  • $HOME/jtestcli.properties
  • $HOME/.gradle/gradle.properties
  • [PROJECT_DIR]/gradle.properties

詳細については「ライセンスの設定」および「設定」を参照してください。

コマンド ラインでの解析の設定

Jtest に付属の init.gradle スクリプトを使用すると、Gradle のビルド スクリプトを変更せずに Gradle と統合できます。

-I オプションを使用してスクリプトの場所を指定し、Gradle で jtest タスクを実行します。

gradle jtest -I <INSTALL_DIR>/integration/gradle/init.gradle

jtest.home プロパティが指定されていない場合、init.gradle スクリプトはスクリプト自体のディレクトリに基づいて Jtest のインストール ディレクトリを検出し、プロパティを設定します。

ビルドスクリプトでの解析の設定

Gradle と統合するようビルド スクリプトを変更するには、jtest.gradle スクリプトをビルド スクリプトに適用するか (Minimal Configuration)、ビルド スクリプトに Jtest タスクを設定 (Extended Configuration) します。Jtest による解析の実行は、ビルド スクリプトの設定方法によって異なります。

(info) ビルド スクリプトで JVM 引数を指定している場合、他の JVM 引数を上書きしていないことを確認してください。

最小限の設定

Gralde ビルド スクリプト (build. gradle) で Jtest Plugin for Gradle を適用するには、ルート プロジェクトのビルド スクリプトに直接 jtest.gradle スクリプトへのパスを追加します。

//build script blocks
apply from: System.properties['jtest.home'] + '/integration/gradle/jtest.gradle'
//other build script blocks

jtest.home プロパティが指定されていない場合、init.gradle スクリプトはスクリプト自体のディレクトリに基づいて Jtest のインストール ディレクトリを検出し、プロパティを設定します。

解析の実行

プロジェクトで最小限の設定を行った場合、次のコマンドで解析を実行します。

gradle jtest -Djtest.home=[INSTALL_DIR]

拡張設定

  1. [PROJECT_DIR]/gradle.properties または $HOME/.gradle/gradle.properties ファイルで jtest.home プロパティを設定します。例:

    # Java system property 'jtest.home
    systemProp.jtest.home=PATH/TO/JTEST
    # project property 'jtest.settings' (could be Java system property as well)
    jtest.settings=PATH/TO/SETTINGS/FILE

    結果として、コマンド ラインでは Jtest のインストール ディレクトリへのパスを指定する必要はありません。

  2. PROJECT_DIR/build.gradle ビルド スクリプトで Jtest タスクを設定します。例:

    //build script blocks
    apply from: System.properties['jtest.home'] + '/integration/gradle/jtest.gradle'
    
    jtest {
      config = "builtin://Recommended Rules"
      showSettings = true
      resources = [
        "**/*.java",
        "my_project_name/src/**/*.xml"
      ]
      compilation {
        id = "main" //default value
        override = false //default value
        encoding = "MacRoman"
      }
    }
    // other build script blocks

解析の実行

プロジェクトで拡張の設定を行った場合、次のコマンドで解析を実行します。

gradle jtest

Gradle プロパティのタイプ

Gradle は以下の 2 種類のプロパティをサポートします。

Java システム プロパティ

システム プロパティは以下の方法で設定できます。

  • コマンド ラインで -D パラメーターを使用します (-DmyProperty)
  • gradle.properties ファイルで systemProp (systemProp.MY_PROPERTY=MY_VALUE) を使用します

システム プロパティは、System.properties['myProperty'] という形式を使用して Gradle のビルド スクリプトからアクセスできます。

Gradle プロジェクト プロパティ

Gradle プロパティは以下の方法で設定できます。

  • コマンドラインで -P または -Dorg.gradle.project パラメーターを使用します (-PmyProperty または -Dorg.gradle.project.myProperty)
  • gradle.properties ファイルで

Gradle プロパティは、Gradle ビルド スクリプトで直接名前を使用するか、property('myProperty') 関数を使用してアクセスできます。

(info) プロパティ キーに文字 "." が含まれている場合、ビルド スクリプトで直接名前を使用するのではなく、property('myProperty') を使用してアクセスするべきです。

詳細については Gradle User Manual を参照してください (「System Properties」セクションおよび「Gradle Properties」セクション)。

ココンパイル データの手動カスタマイズ

すべてのプロジェクトのコンパイル データを変更する必要がある場合、-Djtest.dataUpdate コマンド ライン オプションを使用できます。

Jtest プラグインによって自動的に検出されたコンパイル データをカスタマイズする方法の詳細については、「コンパイル データ モデル」を参照してください。

  • No labels