En regardant la documentation http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , nous pouvons voir la <scope>
balise sous<dependency>
Qu'est-ce que c'est et comment pouvons-nous l'utiliser pour exécuter des tests?
En regardant la documentation http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , nous pouvons voir la <scope>
balise sous<dependency>
Qu'est-ce que c'est et comment pouvons-nous l'utiliser pour exécuter des tests?
Réponses:
L' <scope>
élément peut prendre 6 valeurs: compiler , fourni , runtime , test , système et import .
Cette étendue est utilisée pour limiter la transitivité d'une dépendance et également pour affecter le chemin de classe utilisé pour diverses tâches de génération.
compiler
Il s'agit de la portée par défaut, utilisée si aucune n'est spécifiée. Les dépendances de compilation sont disponibles dans tous les chemins de classe d'un projet. De plus, ces dépendances sont propagées aux projets dépendants.
à condition de
Cela ressemble beaucoup à la compilation, mais indique que vous vous attendez à ce que le JDK ou un conteneur fournisse la dépendance au moment de l'exécution. Par exemple, lors de la création d'une application Web pour Java Enterprise Edition, vous définirez la dépendance sur l'API Servlet et les API Java EE associées sur l'étendue fournie car le conteneur Web fournit ces classes. Cette portée n'est disponible que sur le chemin de classe de compilation et de test, et n'est pas transitive.
Durée
Cette portée indique que la dépendance n'est pas requise pour la compilation, mais pour l'exécution. Il se trouve dans les chemins de classe d'exécution et de test, mais pas dans le chemin de classe de compilation.
tester
Cette portée indique que la dépendance n'est pas requise pour une utilisation normale de l'application et n'est disponible que pour les phases de compilation et d'exécution des tests.
système
Cette portée est similaire à celle fournie, sauf que vous devez fournir le JAR qui le contient explicitement. L'artefact est toujours disponible et n'est pas recherché dans un référentiel.
import (uniquement disponible dans Maven 2.0.9 ou version ultérieure)
Cette portée n'est utilisée que sur une dépendance de type pom dans la section. Il indique que le POM spécifié doit être remplacé par les dépendances dans la section de ce POM. Puisqu'elles sont remplacées, les dépendances avec une portée d'importation ne participent pas réellement à la limitation de la transitivité d'une dépendance.
Pour répondre à la deuxième partie de votre question:
Comment pouvons-nous l'utiliser pour exécuter des tests?
Notez que la test
portée permet d'utiliser les dépendances uniquement pour la phase de test.
Lisez la documentation pour plus de détails.
Six étendues de dépendance:
src/main
etsrc/test
src/test
<dependencyManagement/>
, uniquement disponible dans Maven 2.0.9 ou version ultérieureLa balise Scope est toujours utilisée pour limiter les dépendances transitives et la disponibilité du fichier jar au niveau du chemin de classe. Si nous ne fournissons aucune portée, la portée par défaut fonctionnera, c'est-à-dire Compile .
Si nous ne fournissons aucune portée, la portée par défaut est compile.Si vous voulez confirmer, allez simplement à l'onglet Pom efficace dans l'éditeur eclipse, il vous montrera comme compile.