このセクションの内容




概要

テスト データのディレクトリやテスト対象のファイルまたはファイルのセットを入力スコープとして指定して解析できます。以下のいずれかの方法を使用します。

テスト対象のファイルまたはファイルのセットを指定するには、-resource スイッチを使用します (データ ファイルの場所の指定については16 ページの 「テスト データの場所の指定」を参照)。複数の -resource スイッチを使用して、複数のリソースを指定することもできます。  

  • -resource スイッチを使用してテスト対象のファイルまたはファイルのテストを指定します (データ ファイルの場所の指定については「Running Static Analysis」を参照)。複数の -resource スイッチを使用して、複数のリソースを指定することもできます。

    resource [pattern]
  • .properties  ファイルで jtest.resource プロパティを設定します。複数のリソースはカンマで区切ります。

    jtest.resource=pattern1,pattern2

Ant および Maven のパターン

Ant または Maven を使用する場合、次のパターンを使用できます。

<resource>pattern</resource>

<resources> 要素を使用して複数のリソースを定義できます。

<resources>
    <resource>pattern1</resource>
    <resource>pattern2</resource>
</resources>

リソース パターンの構文

リソース パターンは、次の規則に従って生成されたパスと比較されます。 

ProjectName/resource/inside/of/project/directory.extension
ProjectName/EXT/resource/inside/of/external/source/directories.extension

ProjectName の値は、次のルールに従って生成されます。

  • Ant のプロジェクト名は project タグの name プロパティから 取得されます。
  • Maven のプロジェクト名は groupId:artifactId から 取得されます。
  • Gradle のプロジェクト名は gradle.settings ファイルから 取得されます。
  • IDE で設定されたプロジェクト名はそのまま使用されます。

 projectNameTemplate パラメーターを使って、Maven と Gradle のプロジェクト名をカスタマイズできます。詳細については「Maven 用 Jtest ゴール リファレンス」および「 Gradle 用 Jtest タスク リファレンス」を参照してください。

指定したスコープが外部リソースを含む場合、生成されるパスに文字列 EXT が含まれます。たとえば、解析対象のプロジェクトが、別の場所にあるソース ファイルをリンクで含んでいるかもしれません。以下の例では、Simple.java ファイルは Demo プロジェクトにありますが、Money.java ファイルはリンクで追加されていてプロジェクトの外部にあります。 

Demo/src/main/java/examples/eval/Simple.java
Demo/EXT/examples/bank/Money.java


Ant 形式のワイルドカードやその他のパラメーターを使用してパターンを構成できます。次の表は、サポートされているパラメーターの説明です。

パラメーター説明
?パス区切り文字以外の任意の 1 文字に一致するワイルドカード
*パス区切り文字以外の任意の 0 文字以上に一致するワイルドカード
**0 個以上のパス セグメントに一致するワイルドカード
/すべてのオペレーティング システムの区切り文字
"[non-alphanumeric characters]"リソース パスに空白またはその他の非英数文字が含まれる場合、引用符を使用します。


-resource 引数に 1 つしか値が含まれていない場合、値はプロジェクト名と比較され、ワイルドカード (*) が使用されます。次の表は、-resource スイッチの使用方法のサンプルです。

結果
-resource ProjectName/src

指定されたディレクトリおよびサブディレクトリのすべてのファイルが解析されます (ワイルドカードを使用しない場合、ディレクトリの完全な名前を指定する必要があります)。

-resource ProjectName/**/*.java指定されたプロジェクトのすべての Java ファイルが解析されます。
-resource **/src/main/java/my/company/*.java現在のビルドに含まれるすべてのプロジェクトの指定したサブディレクトリにあるすべての Java ファイルが解析されます。
-resource ProjectName/src/main/java/my/company/File.java指定された単一のファイルが解析されます。
-resource c:/resource.lst

resource.lst ファイルに記載されたプロジェクトを解析します。次のように 1 行に 1 個のプロジェクト名を指定してください。

ProjectName1
ProjectName2
-resource 引数の値として、resource.lst ファイルのパスを指定します。

スコープの細かい調整

スコープにその他のフィルターを適用するには、-include および -exclude スイッチを使用します。

  • -include スイッチは、ファイル システムのパスに一致するファイルだけをテストするよう指定します。その他のファイルはスキップされます。
  • -exclude スイッチは、ファイル システムのパスに一致するファイル以外をテストするよう指定します。

-include-exclude の両方のスイッチが指定されている場合、-include に一致するが、-exclude に一致しないパターンだけがテストされます。

-include pattern
-exclude pattern

または、次のオプションを使用して .properites ファイルにパターンを指定することもできます。

jtest.include=pattern
jtest.exclude=pattern

Ant および Maven のパターン

Ant または Maven を使用する場合、次のパターンを使用できます。

<include>pattern</include>
<exclude>pattern</exclude>


-include および -exclude フィルターには、Ant 形式のワイルドカードやその他のパラメーターを使用できます。次の表は、使用方法の説明です。  

パラメーター説明
?パス区切り文字以外の任意の 1 文字に一致するワイルドカード
*パス区切り文字以外の任意の 0 文字以上に一致するワイルドカード
**0 個以上のパス セグメントに一致するワイルドカード
/セパレーター
path:ハード ディスクの絶対パスに一致する接頭辞

多数のファイルを -include/-exclude で指定する場合、リスト ファイル (*.lst) を作成し、そのリスト ファイルのパスを指定することもできます。*.lstファイルの各アイテムが個別のエントリとして扱われます。  

構文説明
-include com/**"com" で始まるすべてのパッケージをテストします。
-include path:**/Bank.javaBank.java ファイルだけをテストします。
-include path:C:/Project/src/**

C:/Project/src のすべてのサブファイルおよびサブディレクトリをテストします。

-include path:C:/Project/src/*

C:/Project/src のすべてのファイルをテストしますが、サブディレクトリはテストしません。

-include c:/include.lst

include.lst ファイルにリストされたすべてのファイルをテストします。各行が 1 つのパターンとして扱われます。例:
include.lst ファイルに次の行がある場合、
**/*Account
path:**/Bank.java
コマンドで次のように指定したのと同じです。
-include **/*Account -include path: **/Bank.java

-exclude **/internal/**パッケージ名に "internal" を含むクラス以外のすべてのものをテストします。

プロジェクト ファイルの作成

-project.* スイッチを使用すると、プロジェクト ファイルを作成できます。プロジェクト ファイルには、Jtest の実行に必要な情報が含まれています。ソリューションがない場合に -project スイッチを使用します。このスイッチを複数回使用して、多数のプロジェクトを解析できます。Ant 形式のワイルドカードもサポートされているほか、*.lst ファイルへのパスも指定できます。次の表は、-project スイッチに使用できるパラメーターの説明です。

パラメーター説明
-project.location

プロジェクトファイルの生成先を指定します。-project.location オプションが指定されていない場合、他のすべての -project.* オプションが無視されます。 

-project.nameプロジェクト名を設定します。
-project.encodingプロジェクトのエンコーディングを設定します。
-project.sourcepath

プロジェクトのソースを設定します。複数のソース フォルダーを指定する場合、このオプションを複数回使用します。

-project.sourcelevelJava コンパイラの準拠レベルを指定します。
-project.classpathclasspath を指定します。
-project.javahomeライブラリを検索しbootclasspath に追加するために使用します。
-project.classpath.jars.dir

プロジェクトのクラスパスに追加しなければならない jar ファイルがあるディレクトリへのパスを指定します。json ファイルで jar ファイルの順番をチェックし、プロジェクトの要件に順番が合っていることを確認してください。

-project.junit.outcomes

レポートを生成するために使用する、JUnit テストの結果がある XML ファイルへのパスを指定します。複数のレポート ファイルを指定するには、このオプションを複数回指定してください。

-project.compilation.classes   

Calculate Application Coverage コンフィギュレーションを実行するために必要なメタデータ情報を生成するために使用する、コンパイル済みプロジェクト クラスへのパスを指定します。

-project.location C:/ExampleProject
-project.name ExampleProject
-project.encoding UTF-8
-project.sourcepath C:/ExampleProject/src
-project.sourcelevel C:/ExampleProject/src-test
-project.classpath C:/ExampleProject/lib/test.jar;C:/ExampleProject/lib/test2.jar
-project.javahome C:/Program Files/Java/jdk1.7









  • No labels