34

Maven and Integration Testingページには次のように書かれています:

将来の噂によると、Maven の将来のバージョンでは、テスト フェーズの src/test/java に加えて、統合テスト フェーズで src/it/java などをサポートする予定です。

しかし、それは 2011 年 12 月 11 日のことです。これはまだ起こっていますか?

「デフォルトのsrc/test/javaフォルダーにないmavenテストを実行するに対するこの回答では、の設定について言及していますが、統合テスト(つまり、フェーズ)のためだけにこれを行う方法はありますか?<testSourceDirectory>integration-test

Maven FailSafe プラグインを使用して、一連の統合テストの名前を変更したり、まだ実験的な JUnit を使用したりしないようにしています@Categories

4

1 に答える 1

34

次のように、IT を別のフォルダーに入れることができます。

.
|-- pom.xml
`-- src
    |-- it
    |   `-- java
    |       `-- com
    |           `-- soebes
    |               `-- maui
    |                   `-- it
    |                       `-- BitMaskIT.java
    |-- main
    |   `-- java
    |       `-- com
    |           `-- soebes
    |               `-- maui
    |                   `-- it
    |                       `-- BitMask.java
    `-- test
        `-- java
            `-- com
                `-- soebes
                    `-- maui
                        `-- it
                            `-- BitMaskTest.java

コンパイラなどにフォルダを認識させるには、次のものが必要です。

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <version>1.5</version>
  <executions>
    <execution>
      <id>add-test-source</id>
      <phase>process-resources</phase>
      <goals>
        <goal>add-test-source</goal>
      </goals>
      <configuration>
        <sources>
          <source>src/it/java</source>
        </sources>
      </configuration>
    </execution>
  </executions>
</plugin>

IT を実際に実行するには、次のものが必要です。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-failsafe-plugin</artifactId>
  <version>2.15</version>
  <executions>
    <execution>
      <id>integration-test</id>
      <goals>
        <goal>integration-test</goal>
      </goals>
    </execution>
    <execution>
      <id>verify</id>
      <goals>
        <goal>verify</goal>
      </goals>
    </execution>
  </executions>
</plugin>

これは、同じモジュール内で統合を行うことができることを意味します。これには、統合テストの実行が単体テストと同じリソースを使用するという欠点があります。src/test/javaより良い解決策は、統合テストを通常のフォルダーなどに配置し、maven-failsafe-plugin のみを構成できる別の maven モジュールを作成することです。

于 2013-07-25T18:50:27.843 に答える