Les tests avec WebFlux

Spring a mis à disposition un certain nombre d’outils pour faciliter les tests.

1. Tests unitaires

Les test unitaires correspondent aux tests de bas niveau.

a. Tests unitaires avec des applications réactives

Nous pouvons utiliser le traditionnel Mockito.

Pour une classe :

public class UtilisateurService { 
 public Mono<Utilisateur> getUtilisateurById(Integer utilisateurId) { 
 return webClient 
   .get() 
   .uri("http://localhost:8080/utilisateur/{id}", utilisateurId) 
   .retrieve() 
   .bodyToMono(Utilisateur.class); 
 } 
} 

Nous pouvons avoir le test unitaire :

@ExtendWith(MockitoExtension.class) 
public class UtilisateurServiceTest { 
   
 @Test 
 void givenUtilisateurId_whenGetUtilisateurById_thenReturnUtilisateur() { 
 
 Integer utilisateurId = 100; 
 Utilisateur mockUtilisateur = new Utilisateur(1, "Toto", 51); 
 when(webClientMock.get()) 
   .thenReturn(requestHeadersUriSpecMock); 
 when(requestHeadersUriMock.uri("/utilisateur/{id}", utilisateurId)) 
   .thenReturn(requestHeadersSpecMock); 
 when(requestHeadersMock.retrieve()) 
   .thenReturn(responseSpecMock); 
 when(responseMock.bodyToMono(Utilisateur.class)) 
   .thenReturn(Mono.just(mockUtilisateur)); 
 
 Mono<Utilisateur> utilisateurMono...
couv_EP4JASP.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Client réactif
Suivant
Server Site Event avec Spring