2016-08-08 2 views
0

J'ai créé un test Java (je peux également le convertir en Junit). Je veux qu'il invoque quand le projet se construit. J'ai ajouté la dépendance dans le fichier Pom.xml mais lors de la construction du projet, le test n'est pas déclenché. Je pense que le plugin Surefire n'est pas invoqué en premier lieu parce que je ne peux pas voir les rapports dans le dossier cible.Impossible d'appeler le plug-in SureFire pour exécuter un test Java

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
    <includes> 
     <include>com.configtests/ConfigTests.java</include> 
    </includes> 
    </configuration> 
</plugin> 
+0

Est-ce que ConfigTests.java est dans le même paquet que vos autres classes? –

Répondre

0

En général, vous avez ce genre de structure:

Module 
-- src 
    -- main 
     -- java 
      -- com.module 
      -- (classes) 
    -- test 
     -- java 
      -- com.module 
      -- (test classes) 
    -- pom.xml 

Ensuite, la syntaxe du plugin ressemble à ceci:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <includes> 
      <include>*</include> 
     </includes> 
    </configuration> 
</plugin> 

Je suppose que vous voulez avoir ConfigTests.java dans le paquet que vous avez nommé com.configtests dans le répertoire de test. Il suffit de faire simplement:

<include>ConfigTests.java</include> 

Aucune raison de déclarer le paquet ajouté au préalable. Il devrait trouver la classe correctement tant que vous avez le pom.xml au niveau supérieur et la classe sous un dossier dans le même répertoire en conséquence (dans le dossier de test!)

EDIT: Également, pour exécuter le tests dans le cadre de votre construction, il devrait exécuter les tests automatiquement par magie avec: mvn clean install ou, vous pouvez exécuter les tests isolés comme mvn test. La sortie dans la console indiquera si les tests ont été exécutés ou non.