Maven でのテスト

Maven の作業におけるもう 1 つの重要な点は、テスト段階です。これは、 testpackageverify、またはそれらの後に続く他のフェーズを実行すると実行されます。

デフォルトでは、Maven はsrc/test/java/フォルダーにあるすべてのテストを実行します。実行するテストを他の Java ファイルと区別するために、命名規則が採用されています。テストは、名前が "Test" で始まり"Test"または"TestCase"で終わる Java クラスです。

テスト名の一般的なパターン:

  • **/テスト*.java
  • **/*Test.java
  • **/*TestCase.java

これらのテストは、 Junitまたは TestNG テスト フレームワークに基づいて作成する必要があります。これらは非常に素晴らしいフレームワークです。これについては、後で必ず説明します。

.txt および .xml 形式のレポート形式のテスト結果は、${basedir}/target/surefire-reports ディレクトリに保存されます。

テスト設定

通常、テストを実行するには多くのオプションがあるため、Maven 開発者は、テストに関するすべての詳細情報を設定できるパラメーターに特別なプラグインを作成しました。このプラグインはMaven Surefire Pluginと呼ばれ、から入手できます。

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
    	<version>2.12.4</version>
    	<configuration>
        	<includes>
                <include>Sample.java</include>
        	</includes>
    	</configuration>
	</plugin>
</plugins>

この例では、単一のテスト クラス Sample.java を実行する必要があることをプラグインに伝えました。

壊れたテストをすばやく削除する方法

プロジェクトをテストのために実行するには、mvn test コマンドを実行する必要があります。しかし、多くの場合、一部のテストをテストから除外する必要があります。たとえば、壊れている、実行に時間がかかりすぎる、またはその他の理由が考えられます。

まず、ビルドフェーズの実行時にテストをスキップするように Maven に指示するだけです。例:

mvn clean package -Dmaven.test.skip=true

次に、プラグイン設定でテストの実行を無効にすることができます。


<configuration>
    <skipTests>true</skipTests>
</configuration>

そして 3 番目に、 <exclude>タグを使用してテストを除外できます。例:


<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
    	<version>2.12.4</version>
    	<configuration>
        	<excludes>
           	<exclude>**/TestFirst.java</exclude>
	           <exclude>**/TestSecond.java</exclude>
    	</excludes>
    	</configuration>
    </plugin>
</plugins>