Относительно Java:
А как насчет создания abstract
теста в модуле тестов, где вы будете писать основные тестовые случаи. В этом тесте будет использоваться интерфейс, определенный в первом модуле теста.
Затем в каждом модуле impl a
и impl b
вы создаете тест, который расширяет тест abstract
и вызывает методы теста, определенные в модуле tests
.
Относительно Maven:
В модуле tests
вы должны будете указать Maven, что он должен создать jar
из пакета тестов:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
Затем в каждом реализующем модуле вам нужно будет указать, что у вас есть зависимость от этой test-jar
библиотеки:
<dependency>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>${pom.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>