Maven DBUnitプラグインを使用して、単体テストのテストデータをロードしています。また、デモの目的で、別のデータセットを別のデータベースにロードするためにも使用したいと思います。dbunitプラグインでは、1回の実行のみが可能です。別のpomを作成するだけですか、それともこれを実現するためにできるトリックがありますか。(つまり、mvn load-demo-dataのようなことを単純に実行したい)。
2 に答える
1
必要に応じて、プラグインを数回実行できます。これは、pomで指定した構成によって異なります。
<plugin>
<artifactId>maven-whatever-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>execution1</id>
<phase>test</phase>
<configuration>
....
</configuration>
<goals>
<goal>WhatEverGoalYouHave</goal>
</goals>
<phase>...</phase>
</execution>
<execution>
<id>execution2</id>
<configuration>
....
</configuration>
<goals>
<goal>WhatEverGoalYouHave</goal>
</goals>
<phase>...</phase>
</execution>
</executions>
</plugin>
プロファイルを定義して実行を制御することもできます。これは、デモデータの正しい選択となる可能性があります。あなたが説明したmvnload-demo-dataの呼び出しは、mavenでは不可能です。mavenは目標またはライフサイクルのみを呼び出します。
于 2012-06-08T16:58:39.480 に答える
1
データベースの認証情報を構成するときにプロパティを使用する
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>dbunit-maven-plugin</artifactId>
<version>${dbunit.plugin.version}</version>
<configuration>
<url>${db.url}</url>
<driver>${db.driver}</driver>
<username>${db.username}</username>
<password>${db.password}</password>
</configuration>
..
次に、プロファイル セクションを POM に追加して、これらのプロパティの設定を制御します。
<profiles>
<profile>
<id>db1</id>
<properties>
<db.url>jdbc:h2:target/db1;AUTO_SERVER=TRUE</db.url>
<db.driver>org.h2.Driver</db.driver>
<db.username>user</db.username>
<db.password>pass</db.password>
</properties>
<profile>
<profile>
<id>db2</id>
<properties>
<db.url>jdbc:h2:target/db2;AUTO_SERVER=TRUE</db.url>
<db.driver>org.h2.Driver</db.driver>
<db.username>user</db.username>
<db.password>pass</db.password>
</properties>
<profile>
..
プロファイルは、次のようにアクティブ化して、2 つの異なるデータベースを更新できます。
mvn -Pdb1 clean test
mvn -Pdb2 clean test
于 2012-06-09T02:40:13.707 に答える