【问题标题】:testing maven plugin, project.build.directory property for test project测试 maven 插件,测试项目的 project.build.directory 属性
【发布时间】:2014-07-18 18:28:36
【问题描述】:

我正在尝试测试我的 maven 插件。

布局是:

src

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

.....\it\invoke-installer-write-to-file\src\pom.xml

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

我创建了两个测试项目并使用 maven-invoker-plugin 来测试插件。 我有一个 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"

【问题讨论】:

    标签: groovy maven-plugin


    【解决方案1】:
    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)
    

    我确实找到了这个:http://maven.apache.org/plugins/maven-invoker-plugin/examples/post-build-script.html

    basedir 指向测试项目的根目录。现在我很开心。

    【讨论】:

      猜你喜欢
      • 2014-09-14
      • 2017-07-09
      • 1970-01-01
      • 2011-06-12
      • 1970-01-01
      • 1970-01-01
      • 2012-03-24
      • 2016-05-19
      • 1970-01-01
      相关资源
      最近更新 更多