如何测试 Maven archetype 生成的项目

sla*_*lal 5 java maven-archetype

我使用 Maven 创建了一个原型,它创建了一个项目。为了测试项目,我通常必须生成项目并运行mvn clean install以确保它成功构建。

我正在寻找一种方法来测试将从原型生成的项目是否成功构建,而无需手动创建它。

我已经考虑过的选项是我可以编写一个 shell 脚本来生成项目并测试它是否有效。因此,用户只需运行脚本即可确保原型项目不会失败。

有没有人可以建议更好的方法?

Dam*_*nox 3

您可以为 src/test/resources/projects 下的每个文件夹生成一个测试项目。

每个文件夹必须包含:

  • archetype.properties 文件
  • goal.txt 文件

例子 :

  • src/测试/资源/项目/
    • 测试1
      • 目标.txt
      • 原型.属性

原型文件包含生成项目所需的所有属性(“名称=值”语法)。目标文件包含您要执行的 mvn 目标(例如:验证)

然后将以下插件添加到原型的 pom.xml 中:

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-archetype-plugin</artifactId>
            <version>3.0.1 </version>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令执行集成测试:mvn archetype:integration-test

参考:https://maven.apache.org/archetype/maven-archetype-plugin/integration-test-mojo.html