Maison  >  Article  >  Java  >  Comment créer des tests unitaires et d'intégration à l'aide de Spring Boot et JUnit

Comment créer des tests unitaires et d'intégration à l'aide de Spring Boot et JUnit

WBOY
WBOYoriginal
2023-06-23 08:39:06793parcourir

Avec le développement continu de l'industrie du développement logiciel, les tests unitaires et les tests d'intégration ont attiré de plus en plus l'attention des développeurs. Ces méthodes de test peuvent aider les développeurs à détecter rapidement les problèmes dans le code et à améliorer la qualité des logiciels.

Spring Boot est un framework de développement Java très populaire qui aide les développeurs à créer rapidement des applications. JUnit est un framework de tests unitaires pour le langage de programmation Java qui aide les développeurs à rédiger des tests unitaires efficaces. Dans cet article, j'expliquerai comment créer des tests unitaires et d'intégration à l'aide de Spring Boot et JUnit.

  1. Tests unitaires

Les tests unitaires consistent à tester la plus petite unité de code de l'application. Dans le monde de la programmation Java, les tests unitaires testent généralement une méthode ou une classe. Dans une application Spring Boot, les tests unitaires peuvent tester des composants tels que des contrôleurs, des services, des référentiels, etc.

1.1 Créer une application Spring Boot

Tout d'abord, nous devons créer une application Spring Boot. Voici un exemple simple :

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

@SpringBootApplication est l'annotation principale du contexte Spring Boot, qui inclut les annotations @EnableAutoConfiguration et @ComponentScan. Cet exemple d’application n’a qu’une seule méthode principale.

1.2 Écrire des tests unitaires

Ensuite, nous écrirons un test unitaire simple pour tester les méthodes dans une classe.

public class GreetingServiceTest {

    private GreetingService greetingService;

    @Before
    public void setUp() {
        greetingService = new GreetingService();
    }

    @Test
    public void testGreeting() {
        String result = greetingService.greet("John");
        assertEquals("Hello John", result);
    }
}

Ceci est un exemple de test unitaire très simple. Nous avons créé une classe GreetingServiceTest et y avons écrit une méthode testGreeting. Dans la méthode setUp, nous créons un objet GreetingService. Dans la méthode testGreeting, nous appelons la méthode GreetingService.greet("John") et utilisons la méthode assertEquals pour vérifier si le résultat est "Bonjour John".

1.3 Exécution de tests unitaires

Afin d'exécuter des tests unitaires, nous devons cliquer avec le bouton droit sur la classe de test dans l'EDI et sélectionner "Exécuter le test". Une fois le test terminé, nous verrons les résultats du test.

  1. Tests d'intégration

Les tests d'intégration consistent à tester une certaine partie de l'application entière ou l'ensemble de l'application. Dans Spring Boot, nous pouvons utiliser les annotations SpringBootTest pour écrire des tests d'intégration.

2.1 Créer un test d'intégration

Tout d'abord, nous devons créer une classe de test d'intégration. Les annotations

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class GreetingControllerIntegrationTest {

@RunWith et @SpringBootTest sont les annotations principales des tests d'intégration Spring Boot. L'attribut webEnvironment est l'environnement de l'application Spring Boot, qui peut être MOCK, RANDOM_PORT ou DEFINED_PORT. Dans cet exemple, nous avons sélectionné RANDOM_PORT. Cet exemple testera notre classe GreetingController. Nous utiliserons Spring Boot TestRestTemplate dans nos tests pour appeler l'API et tester les résultats.

2.2 Écrire un test d'intégration

Ensuite, nous écrirons un test d'intégration simple pour tester notre GreetingController.

@Test
public void testGreeting() {
    ResponseEntity<String> response = new TestRestTemplate().getForEntity(
            "http://localhost:"+ port +"/greeting?name=John", String.class);
    assertEquals(HttpStatus.OK, response.getStatusCode());
    assertEquals("Hello John", response.getBody());
}

Dans cet exemple, nous utilisons TestRestTemplate pour appeler l'interface API. Nous utilisons la méthode getForEntity pour obtenir la réponse et la méthode assertEquals pour vérifier que le résultat est "Bonjour John".

2.3 Exécuter le test d'intégration

Afin d'exécuter le test d'intégration, nous devons cliquer avec le bouton droit sur la classe de test dans l'EDI et sélectionner "Exécuter le test". Une fois le test terminé, nous verrons les résultats du test.

Résumé

Dans cet article, nous avons présenté comment utiliser Spring Boot et JUnit pour créer des tests unitaires et des tests d'intégration. Les tests unitaires sont une méthode de test permettant de tester la plus petite unité de code d'une application. Les tests d'intégration sont une méthode de test qui teste l'ensemble ou une partie de l'application. Les tests unitaires et les tests d'intégration peuvent nous aider à détecter des problèmes dans le code et à améliorer la qualité de l'application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn