3
votes

où définir les dépendances de test maven

Je veux fournir des dépendances de test comme spring, mockito et junit dans chaque projet pour rendre aussi facile que possible l'écriture de tests. Dois-je utiliser la gestion des dépendances pour ces dépendances ou les définir dans le pom parent?


1 commentaires

Gestion des dépendances. Et peut-être devriez-vous penser à un parent pratique comme Spring Boot ...


3 Réponses :


1
votes

il y a deux façons d'y parvenir -

  1. vous déclarez les dépendances dans le pom parent dans le nœud , et chaque enfant bénéficiera de la dépendance.

  2. Ajoutez les dépendances dans le pom parent sous le nœud et dans chaque enfant qui en a besoin, ajoutez la dépendance dans le nœud. Vous pouvez choisir de ne pas définir la version de la dépendance.

Donc, par exemple, si vous déclarez ceci dans le pom parent:

<dependencies>
    <dependency>
        <groupId>org.abc</groupId>
        <artifactId>xyz</artifactId>
        <version>your_version</version>
    </dependency>
</dependencies>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.abc</groupId>
            <artifactId>xyz</artifactId>
            <version>your_version</version>
            <scope>your_scope</scope>
        </dependency>
    </dependencies>
</dependencyManagement>


0 commentaires

2
votes

Oui, vous n'avez pas besoin de définir la dépendance dans chaque projet. Définissez simplement la dépendance dans le pom parent. Le projet enfant hérite automatiquement de son pom parent. Aussi si vous souhaitez utiliser une version différente de Mockito ou quoi que ce soit. Remplacez simplement la dépendance parente dans l'enfant un.


0 commentaires

2
votes

Toutes les dépendances courantes peuvent être mentionnées dans le fichier parent pom . Il existe principalement 4 types de dépendances qui peuvent être mentionnées dans un fichier pom.

  1. Dépendances de bibliothèque créées par nous-mêmes
  2. Dépendances des modules de nos propres modules
  3. Dépendances de bibliothèques tierces
  4. Dépendances pour les tests

Exemple

<dependencies>
<!-- Library Dependencies created by ourselves -->
    <dependency>
        <groupId>it.myapp</groupId>
        <artifactId>MyAppBootstrap</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>it.myapp.libs</groupId>
        <artifactId>b2b_connecttion</artifactId>
    </dependency>

    <!-- Module Dependencies from our own modules-->
    <dependency>
        <groupId>it.myapp.mymodules</groupId>
        <artifactId>RevenueManager</artifactId>
        <version>${myapp.module.version}</version>
        <classifier>classes</classifier>
    </dependency>

    <!-- 3rd Party Dependency -->
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc7</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-vfs2</artifactId>
        <scope>provided</scope>
    </dependency>

    <!-- Dependencies for tests -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.jmockit</groupId>
        <artifactId>jmockit</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>


0 commentaires