私はMaven-Inovker-Plugin
を使って統合テストを実行しています。統合テストの結果を検証するために、verify.groovy
というpost-build-hook-scriptがあります。 groovy
スクリプトでは、元のPOMからいくつかのプロパティにアクセスする必要があります。それ、どうやったら出来るの?Maven-Invoker-PluginでScriptVariablesを使い、GroovyでPostBuildHookScriptを使う方法
はこれまでのところ、私はmaven-invoker-plugin
のための構成ブロックでこれを入れている:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<version>1.7</version>
<configuration>
<debug>true</debug>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
<projectsDirectory>src/test/resources/invoker-tests</projectsDirectory>
<pomIncludes>
<pomInclude>*/pom.xml</pomInclude>
</pomIncludes>
<postBuildHookScript>verify</postBuildHookScript>
<scriptVariables>
<param>${skip.var1}</param>
<param>${skip.var2}</param>
</scriptVariables>
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
<goals>
<goal>clean</goal>
<goal>package</goal>
</goals>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
私はドキュメントhereからscriptVariables
に値を入れています。私はそれが間違っていると確信しています、正しい方法は何ですか?
次に、groovyスクリプトで変数skip.var1
とskip.var2
にアクセスするにはどうすればよいですか?私はこれに関する文書や例を見つけることができません。これまで私は以下のことを試しましたが、うまくいきません。
def var1 = skip.var1
しかし、私はエラーを取得する:
groovy.lang.MissingPropertyException: No such property: skip for class: Script1
にはどうすれば正しく変数にアクセスできますか?
私はあなたの統合テスト用フォルダとして 'のsrc /メイン/ it'を使用することをお勧めします...あなたは、統合テストに元のポンポンからの値を与える必要がある場合pomこれは、maven-invoker-pluginの実行中にフィルタリングされた統合テストpomで '@ ... @'を使って行うことができます...最新のバージョンのmaven-invoker-pluginを使用してください... – khmarbaise