2

必要な環境変数を設定していないビルドサーバーでテストを実行しようとしています。

変数は、プロパティ ファイルの場所を解決するために、Spring コンテキスト xml ファイル内から使用されます。

例: classpath:config/${EnvironmentType}/myfile.properties

私はフェイルセーフプラグインを使用しており、変数を設定するためにさまざまな文書化された方法 (非推奨のものも含む) を試しています。違いはありません。変数は決して解決されません。

私の設定は以下です:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.12</version>
            <executions>
                <execution>
                    <id>Integration tests against mocks</id>
                    <goals>
                        <goal>integration-test</goal>
                    </goals>
                    <configuration>
                        <skipTests>${skip.integration.mock.tests}</skipTests>
                        <includes>
                            <include>**/*ITMock.java</include>
                        </includes>
                        <argLine>-DEnvironmentType="DevelopmentIntegration"</argLine>
                        <systemPropertyVariables>
                            <EnvironmentType>DevelopmentIntegration</EnvironmentType>
                        </systemPropertyVariables>
                        <environmentVariables>
                            <EnvironmentType>DevelopmentIntegration</EnvironmentType>
                        </environmentVariables>
                        <systemProperties>
                            <property>
                                <name>EnvironmentType</name>
                                <value>DevelopmentIntegration</value>
                            </property>
                        </systemProperties>
                        <forkMode>false</forkMode>
                    </configuration>
                </execution>
                <execution>
                    <id>Verify</id>
                    <goals>
                        <goal>verify</goal>
                    </goals>
                    <configuration>
                        <skipTests>false</skipTests>
                    </configuration>
                </execution>
            </executions>
        </plugin>

実際にマシンに設定せずに、テスト用にこのenv varを設定するにはどうすればよいですか?

注:これを mvn verify -DEnvironmentType="DevelopmentIntegration" で実行すると機能します。mvn verify だけで動作させたい。

乾杯、ピーター

4

1 に答える 1

1

表示されている構成には の値がありますfalseが、これはdocs<forkMode>によると、このパラメーターの有効な値ではないようです。

プラグイン構成で指定された環境変数とシステム変数は、現在実行中の JVM には適用されないと思います。プラグインがテストを実行するための新しい JVM を作成する場合に適用されます。私の推測ではfalse、 forkMode パラメータの値が原因で fork が発生しません。デフォルト ( ) のままにしてみて、それonceが機能するかどうかを確認してください。

于 2012-08-27T15:48:18.090 に答える