J'ai un projet qui contient des tests, tout ce qu'il fait est de créer un test-jar
pour être exécuté par d'autres projets. Et cela dépend d'un autre artefact, nous allons l'appeler artefact X
Injection de dépendances et tests
alors il y a plusieurs autres projets qui exécutent le test-jar
, en utilisant le maven-surefire-plugin
J'ai plusieurs implémentations d'artefact X
et ce que je veux faire est de être en mesure d'exécuter ces tests en utilisant la mise en œuvre que je veux, non X
donc par exemple:
dans le projet A
Je veux exécuter les tests en utilisant la mise en œuvre A
dans le projet B
Je veux exécuter les tests en utilisant la mise en œuvre B
cela ne semble pas être possible, car une fois le test-jar
généré, il a l'artefact X
codé en dur dans ce
si Je suis ouvert à toutes les autres solutions
Edit:
informations supplémentaires:
le fichier pom du projet de génération de tests:
la partie de génération de la test-jar
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
l'artefact X
dépendance:
<dependency>
<groupId>com.conztanz</groupId>
<artifactId>X</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
le fichier de pom de l'un des projets exécution des tests (projet A
):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<configuration>
<dependenciesToScan>
<dependency>testJar</dependency>
</dependenciesToScan>
</configuration>
</plugin>
</plugins>
</build>
Idéalement ce que je veux est de faire quelque chose qui dit projet A
-Override
artefact X
avec sa propre implémentation
J'espère que cela a plus de sens maintenant
Ceci est trop abstrait pour que je puisse me débrouiller. Peut-être que vous pourriez poster les parties pertinentes de divers 'pom.xml', avec une structure de projet simplifiée? – Stewart
okay je vais ajouter quelques exemples – isco