0
votes

Le test MVN ne exécute pas de tests d'unité dans le projet de démarrage à ressort

J'ai des tests unitaires dans mon projet Springboot en plus du test d'application par défaut fourni avec le forfait de projet lorsque je crée le projet à partir de start.spring.io. Lorsque j'exécute test MVN à partir de la ligne de commande, je vois que seuls les tests d'application par défaut sont exécutés mais pas les tests de l'unité que j'ai écrites. Cependant, je peux courir ces tests de Intellij. J'utilise la version Maven 3.6.2 et Maven SureFire Plugin version 2.22.2 . Quelqu'un peut-il me faire savoir ce qui me manque ici? Merci.

Voici ma classe de test: xxx

suivi est mon fichier POM: xxx


3 commentaires

Pouvez-vous essayer de commenter la section dans Maven-Surefire-plugin ?


Supprimer la section Comprends comme suggéré ..


@Michaelkreutz J'ai enlevé la section Maven-SureFire-Plugin de la section Plugins mais toujours pas de chance. Y a-t-il un chemin que j'ai besoin de configurer?


3 Réponses :


0
votes

Ceci semble faux.

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


1 commentaires

J'ai enlevé le plugin maintenant Michael, mais le plugin Surefire ne ramasse toujours pas ma classe de test.



1
votes

Je pense que c'est un mélange étrange de Junit 4 et Junit 5 qui provoque le problème:

  1. Spring Boot 2.2.6 (J'ai utilisé start.spring.io pour générer une application d'exemple) utilise JUNIT 5.
  2. D'autre part, votre test est écrit avec @Runwith ce qui signifie qu'il utilise Junit 4 sous la hotte.
  3. La dépendance: xxx

    semble aussi suspect - le test Spring-boot-test contient déjà toutes les dépendances requises sur Junit 5, de sorte que vous n'avez pas besoin de Celui-ci.

    Maintenant en termes de résolution, consultez le test par défaut fourni avec cette application d'échantillon (celle que vous avez décrite dans la question). Les chances sont qu'il utilise Junit 5 par lui-même, de sorte que vous feriez mieux de migrer votre test vers Junit 5 et Rerun.


1 commentaires

Vous avez raison, une fois que j'ai supprimé la dépendance de POM et j'ai modifié l'annotation de @Runwith à @springboottest , les tests ont été choisis.



0
votes

Si vos tests fonctionnent avec succès lorsqu'ils sont courus seuls, mais ne sont pas pris en charge pendant les chances

import org.junit.jupiter.api


0 commentaires