多模块Maven项目:如何触发模块之间的所有功能文件?

时间:2018-07-03 00:22:28

标签: maven ui-automation cucumber-jvm cucumber-junit

我正在编写一个多模块测试自动化框架,其中有一个称为框架的父项目和一个核心和客户 2个子模块/项目客户模块取决于核心模块

enter image description here

我正在使用Cucumber-junit编写功能文件。核心模块和客户模块都将具有功能文件和步骤定义。在核心项目中添加了以下依赖项:

enter image description here

我已经在核心模块中创建了一个TestRunner.java文件,如下所示:

enter image description here

当我将TestRunner.java作为JUnit测试运行时,它仅执行核心模块中的功能文件。 客户模块中的功能文件未执行

是否可以在所有子项目/模块中执行所有功能文件?

请提出建议。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以在框架项目中使用父pom.xml,并在其中声明两个子模块。然后在该父pom上执行maven命令,例如“ clean install”。

Framework pom...
    <groupId>multi.mod</groupId>
    <artifactId>framework</artifactId>
    <version>1.0.0</version>
    <packaging>pom</packaging>

    <modules>
        <module>core</module>
        <module>customer</module>
    </modules>

    You can add common dependencies and refer to them in the child modules by the 
    artifact id mentioned in the parent pom.

Core pom...
   <parent>
        <groupId>multi.mod</groupId>
        <artifactId>framework</artifactId>
        <version>1.0.0</version>
    </parent>
    <artifactId>core</artifactId>
    <packaging>jar</packaging>

   Add dependencies as required

Customer pom...
   <parent>
        <groupId>multi.mod</groupId>
        <artifactId>framework</artifactId>
        <version>1.0.0</version>
    </parent>
    <artifactId>customer</artifactId>
    <packaging>jar</packaging>

  Add dependencies as required plus add core module also as dependency
       <dependency>
            <groupId>multi.mod</groupId>
            <artifactId>core</artifactId>
        </dependency>

在父pom上运行全新安装。框架

https://books.sonatype.com/mvnex-book/reference/multimodule.html