Мультимодульный проект maven: как запустить все файлы функций в разных модулях? - PullRequest
0 голосов
/ 03 июля 2018

Я пишу многомодульную среду автоматизации тестирования, в которой у меня есть родительский проект , известный как framework, и 2 дочерних модуля / проекта - ядро ​​и клиент. модуль клиента зависит от основного модуля

enter image description here

Я использую cucumber-junit для записи файлов объектов. И модули ядра, и модули клиента будут иметь файлы функций и определения шагов. В основной проект добавлены следующие зависимости:

enter image description here

Я создал файл TestRunner.java в основном модуле, как показано ниже:

enter image description here

Когда я запускаю TestRunner.java как тест JUnit, он выполняет только файл функций в основном модуле. Файл функций в клиентском модуле не выполняется .

Есть ли способ выполнить все файлы объектов во всех дочерних проектах / модулях?

Пожалуйста, предложите. Благодарю.

1 Ответ

0 голосов
/ 06 июля 2018

Вы можете использовать родительский pom.xml в проекте фреймворка и объявить в нем два дочерних модуля. Затем выполните команду maven, например «clean install», на этом родительском pom.

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>

Запустите чистую установку на родительском ПО, т.е. основа

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

...