我正在编写一个多模块测试自动化框架,其中有一个称为框架的父项目和一个核心和客户 2个子模块/项目。 客户模块取决于核心模块
我正在使用Cucumber-junit编写功能文件。核心模块和客户模块都将具有功能文件和步骤定义。在核心项目中添加了以下依赖项:
我已经在核心模块中创建了一个TestRunner.java文件,如下所示:
当我将TestRunner.java作为JUnit测试运行时,它仅执行核心模块中的功能文件。 客户模块中的功能文件未执行。
是否可以在所有子项目/模块中执行所有功能文件?
请提出建议。谢谢。
答案 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