我如何测试我刚刚创建的maven原型?

mes*_*s5k 16 java maven-2 archetypes

我为一个现在可以正常工作的项目创建了一些原型,但我希望能够验证从原型生成的代码将来还能继续工作.

我想要的是原型构建的一个阶段,它采用刚刚创建的原型,mvn archetype:generate在其上运行,然后mvn verify在生成的代码上运行,以验证生成的代码实际上是否正常.如果需要,我会写自己的mojo来做这件事,但想看看解决方案是否已经存在.我看到了archetype:integration-test目标,但它并不似乎在做我想要的.

Par*_*udy 14

更新2013:现在比其他答案建议的要容易得多.

https://issues.apache.org/jira/browse/ARCHETYPE-334于2011年8月完成

要使用,只需将单词install放在goal.txt上面提到的文件中,您正在调整的项目中的测试将作为正常构建的一部分进行调用.(和/或verifyOP的情况.)

但是,如果您不熟悉原型,请注意 这个流行的迷你指南是过时的,虽然它可以用于制作原型,但它不适用于运行原型集成测试.而应该将创建一个archetype-metadata.xml描述文件在这里.(这也好得多,因为它使用文件集!)

另请注意,这些集成测试没有响应,-DskipTests但可以通过以下方式进行补救:

<build>
  <plugins>

    <plugin>
      <artifactId>maven-archetype-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <skip>${skipTests}</skip>
      </configuration>        
    </plugin>

  </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

(虽然这看起来像是跳过了整个插件,但实际上它可以工作,可能是因为它回归到传统模式;而我找不到任何成功的方法来integration-test使用上面的代码跳过目标执行.)

  • 如果它包含goal.txt文件示例,那么这个答案会更有用,因为现在下面是"上面". (2认同)