Je ne parviens pas à exécuter mon test unitaire avec maven. J'ai essayé d'utiliser mvn clean install et mvn test pour exécuter le test, mais ne fournit pas le résultat attendu.
J'ai inclus les dépendances suivantes:
[INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ truckmsg-processor --- [INFO] [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] [INFO] Results: [INFO] [INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
La classe de test contient la nomenclature et l'annotation suivantes:
@Test void testMethodName() throws Exception {
Le nom de la méthode comme l'annotation et le nom suivants:
@ExtendWith(SpringExtension.class) @SpringBootTest( webEnvironment = WebEnvironment.NONE, classes = {TruckIdLookupService.class, TimescaleConfiguration.class}) public class TestClassName {
Je peux obtenir le résultat attendu dans Intellij mais maven n'exécute pas les tests.
<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-streams-test-utils</artifactId> <scope>test</scope> </dependency> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <!--include manifest in repository jar--> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
3 Réponses :
Est-il possible que votre système n'injecte pas correctement la classe correcte?
En vérifiant mon code dans certains projets, je remarque que j'ai la notation suivante:
@RunWith(SpringJUnit4ClassRunner.class)
Et ici vous pouvez voir ce qu'il fait.
p>
J'imagine qu'OP voulait utiliser junit 5. Pourquoi aurait-il rétrogradé sa version à 4?
@UrbanoJVR: Ajout de la dépendance suggérée. Cela n'a pas aidé. Merci
Oh oui, erreur fatale. Vous utilisez junit jupyter api et je poste junit. Avez-vous essayé d'ajouter la balise Jupyter API version 5.5.0-M1? (Je ne pense pas que ça marche, mais ça peut être prouvé)
@SpringBootTest(classes = App.class) @WebAppConfiguration @Transactional public class BulkTests { @Test public void test1() { } }
La modification de la dépendance Junit Jupiter a aidé:
<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency>
Vous devrez fournir plus d'informations. Par exemple, la sortie d'erreur maven.
Avez-vous exécuté la commande maven mvn clean package ou mvn clean install
@michalk: Stackoverflow ne m'a pas autorisé à ajouter du code au début. J'ai ajouté les détails nécessaires
@Sambit: Oui, j'ai fait une installation propre. Merci
Exécute-t-il vos cas de test maintenant?
@Sambit: Non. Merci. J'ai mis à jour le message.
Pouvez-vous essayer de commenter ... tout le code ... et essayer de courir.
@Sambit J'ai essayé de commenter la partie du plugin. Cela n'a pas aidé.
Vous utilisez simplement la mauvaise dépendance. Vous devez utiliser junit-jupiter-engine au lieu de junit-jupiter-api .... Ah en plus vous devez nommer votre classe selon les conventions de dénomination comme
* Test.java
comme test unitaire. ..