20 Ağustos 2023 Pazar

SpringWebFlux WebTestClient Sınıfı

Giriş
Açıklaması şöyle
Reactive Spring provides WebTestClient to write down integration tests for API endpoints.
get metodu
Örnek
Şöyle yaparız
@Autowired
private WebTestClient webTestClient; @Test void find_all_patients(){ long patientCount = patientRepository.findAll().count().block(); webTestClient.get().uri("/v1/patients") .exchange().expectStatus().isEqualTo(HttpStatus.ACCEPTED) .expectBody() .jsonPath("$").isArray() .jsonPath("$.size()").isEqualTo(patientCount); }
expectStatus metodu
isCreated()isOk()isNotFound() gibi sonuçlar döner

Örnek
Şöyle yaparız
@Test
public void testGetAllUsers() {
    webTestClient.get().uri("/users")
            .exchange()
            .expectStatus().isOk()
            .expectBodyList(User.class);
}

@Test
public void testGetUserById() {
    webTestClient.get().uri("/users/{id}", "user-id")
            .exchange()
            .expectStatus().isOk()
            .expectBody(User.class);
}

@Test
public void testCreateUser() {
    User newUser = new User("new-user-id", "New User");

    webTestClient.post().uri("/users")
            .bodyValue(newUser)
            .exchange()
            .expectStatus().isCreated()
            .expectBody(User.class)
            .isEqualTo(newUser);
}
Örnek
Şöyle yaparız
@Test
public void testGetUserById_NotFound() {
  webTestClient.get().uri("/users/nonexistent-id")
    .exchange()
    .expectStatus().isNotFound();
}

Hiç yorum yok:

Yorum Gönder