是否可以在一个项目中有多个 POM 和 TESTNG 文件?

Is it possible to have multiple POM and TESTNG files in a project?

我有以下设置:

Jenkins 指向 -> Pom.xml 指向 -> Testng.xml

我的目标是在 Jenkins 中拥有多个作业,每个作业指向不同的环境。这些环境目前由多个 TestNG 文件分隔。我在每个 testng.xml 文件中设置了指向不同环境的参数。

有没有办法拥有多个 POM 文件,每个文件指向不同的 testng 文件?

谢谢

您应该使用一个为每个环境定义 "profile" 的 pom 文件。环境的配置文件将自定义该环境所需的所有配置(包括指向正确的 testng 文件)。

在您的 pom 中,您将包含

<profiles>
    <profile>
        <id>foo</id>
        <properties>
             ...
        </properties>
        <build>
             ...
        </build>
    </profile>
    <profile>
        <id>bar</id>
        <properties>
             ...
        </properties>
        <build>
             ...
        </build>
    </profile>
</profiles>

并用

调用它
mvn -Pfoo

mvn -Pbar

正如您所说,您将希望每个环境都有一个 Jenkins 作业(在该作业的配置中使用 -Pfoo),或者您可以有一个 Jenkins 作业并将配置文件作为参数传递给该作业。