Comment pouvez-vous compter sur le code de test d'un autre module dans Maven?
Exemple, j'ai 2 modules:
- Base
- Principale
Je voudrais un cas de test dans Main pour étendre une classe de test de base dans Base. Est-ce possible?
Mise à jour: une réponse acceptable a été trouvée , ce qui implique la création d'un fichier jar de test.
Réponses:
Je recommande d'utiliser le type au lieu du classifier (voir aussi: classifier ). Il dit à Maven un peu plus explicitement ce que vous faites (et j'ai trouvé que m2eclipse et q4e l'aiment mieux).
la source
Merci pour la suggestion du module de base. Cependant, je préfère ne pas créer un nouveau module dans ce seul but.
Une réponse acceptable a été trouvée dans la documentation Surefire Maven et un blog . Voir aussi " Comment créer un fichier jar contenant des classes de test ".
Cela crée un fichier jar de code à partir de l'
src/test/java
utilisation du plugin jar afin que les modules avec des tests puissent partager du code.Pour utiliser le JAR de test attaché qui a été créé ci-dessus, spécifiez simplement une dépendance sur l'artefact principal avec un classificateur de tests spécifié:
la source
Nous avons résolu ce problème en créant un projet maven avec du code de test comme src / main / java et en ajoutant la dépendance suivante aux projets:
la source
Oui ... incluez simplement le module Base en tant que dépendance dans Main. Si vous n'héritez que du code de test, vous pouvez utiliser la balise scope pour vous assurer que Maven n'inclut pas le code dans votre artefact lors du déploiement. Quelque chose comme ça devrait fonctionner:
la source