Groovy 测试maven插件,测试项目的project.build.directory属性

Groovy 测试maven插件,测试项目的project.build.directory属性,groovy,maven-plugin,Groovy,Maven Plugin,我正在测试我的maven插件 布局如下: src \main\java\my.mojo.is.here ..…\it\invoke安装程序写入文件\src\pom.xml 其中,..\it\invoke installer write to file\src\pom.xml是一个测试项目。它是pom.xml调用插件,然后我验证结果 我创建了两个测试项目,并使用maven invoker插件测试插件。 我有一个groovy验证器: String successMessage = 'Test pas

我正在测试我的maven插件

布局如下:

src

\main\java\my.mojo.is.here

..…\it\invoke安装程序写入文件\src\pom.xml

其中,..\it\invoke installer write to file\src\pom.xml是一个测试项目。它是pom.xml调用插件,然后我验证结果

我创建了两个测试项目,并使用maven invoker插件测试插件。 我有一个groovy验证器:

String successMessage = 'Test passed'
String outputFilePath = "${project.build.directory}/it/invoke-installer-write-to-file/target/test.output"
File outputFile = new File(outputFilePath)

println "We should get message '$successMessage' from file: $outputFile.absolutePath"
return new File(outputFilePath).exists() && new File(outputFilePath).text.contains(successMessage)
问题是测试项目内部的变量project.build.directory指向插件项目的目标

是否有可能使project.build.directory指向测试项目目标

现在我必须硬编码一个路径来测试项目路径

String outputFilePath = "${project.build.directory}/it/invoke-installer-write-to-file/target/test.output"
我确实找到了这个:

basedir指向测试项目的根。现在我很高兴

String successMessage = 'Test passed'
String outputFilePath = "$basedir/target/test.output"
File outputFile = new File(outputFilePath)

println "We should get message '$successMessage' from file: $outputFile.absolutePath"
return new File(outputFilePath).exists() && new File(outputFilePath).text.contains(successMessage)