1
votes

Le test unitaire ne fonctionne pas avec maven

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>


9 commentaires

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. ..


3 Réponses :


0
votes

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>


3 commentaires

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é)



0
votes
@SpringBootTest(classes = App.class)
@WebAppConfiguration
@Transactional
public class BulkTests {
@Test
     public void test1() {
     }
 }

0 commentaires

2
votes

La modification de la dépendance Junit Jupiter a aidé:

<dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <scope>test</scope>
</dependency>


0 commentaires