ドキュメントhttp://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.htmlを見る<scope>
と、下にタグがあります<dependency>
それは何ですか、どのように使用してテストを実行できますか?
ドキュメントhttp://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.htmlを見る<scope>
と、下にタグがあります<dependency>
それは何ですか、どのように使用してテストを実行できますか?
回答:
<scope>
:エレメントは6つの値取ることができ、コンパイル、提供、実行、試験、システム及びインポート。
このスコープは、依存関係の推移性を制限し、さまざまなビルドタスクに使用されるクラスパスに影響を与えるために使用されます。
コンパイル
これはデフォルトのスコープであり、何も指定されていない場合に使用されます。コンパイルの依存関係は、プロジェクトのすべてのクラスパスで使用できます。さらに、これらの依存関係は依存プロジェクトに伝達されます。
提供
これはコンパイルによく似ていますが、実行時にJDKまたはコンテナが依存関係を提供することを期待していることを示しています。たとえば、Java Enterprise EditionのWebアプリケーションを構築する場合、Webコンテナがこれらのクラスを提供するため、サーブレットAPIおよび関連するJava EE APIへの依存関係を提供されたスコープに設定します。このスコープは、コンパイルとテストのクラスパスでのみ使用でき、推移的ではありません。
ランタイム
このスコープは、依存関係がコンパイルに必要ではなく、実行に必要であることを示しています。ランタイムクラスパスとテストクラスパスにはありますが、コンパイルクラスパスにはありません。
テスト
このスコープは、依存関係がアプリケーションの通常の使用に必要ではなく、テストのコンパイルおよび実行フェーズでのみ使用できることを示します。
システム
このスコープは、明示的に含まれるJARを提供する必要があることを除いて、提供されたスコープと似ています。アーティファクトは常に利用可能であり、リポジトリで検索されません。
インポート(Maven 2.0.9以降でのみ使用可能)
このスコープは、セクションのpomタイプの依存関係でのみ使用されます。これは、指定されたPOMがそのPOMのセクションの依存関係で置き換えられる必要があることを示しています。それらは置き換えられるため、インポートのスコープを持つ依存関係は、実際には依存関係の推移性の制限に関与しません。
質問の2番目の部分に答えるには:
テストの実行にどのように使用できますか?
test
スコープでは、テスト段階でのみ依存関係を使用できることに注意してください。
詳細については、ドキュメントをご覧ください。
6つの依存関係スコープ:
src/main
で利用可能src/test
src/test
<dependencyManagement/>
できます。Maven2.0.9以降でのみ使用できますスコープタグは、クラスパスレベルでのjarの推移的な依存関係と可用性を制限するために常に使用されます。スコープを指定しない場合、デフォルトのスコープが機能します。つまり、Compileです。
スコープを指定しない場合、デフォルトのスコープはコンパイルです。確認したい場合は、Eclipseエディターの[Effective pom]タブに移動すると、コンパイル済みと表示されます。