Spring Boot: тестирование, автоматически настроенные REST клиенты
Вы можете использовать аннотацию @RestClientTest для тестирования REST клиентов. По умолчанию он автоматически настраивает поддержку Jackson, GSON и Jsonb, настраивает RestTemplateBuilder и добавляет поддержку MockRestServiceServer. Обычные компоненты @Component не загружаются в ApplicationContext.
Конкретные bean-компоненты, которые вы хотите протестировать, должны быть указаны с помощью атрибута value или компонентов @RestClientTest, как показано в следующем примере:
@RestClientTest(RemoteVehicleDetailsService.class)
class ExampleRestClientTest {
@Autowired
private RemoteVehicleDetailsService service;
@Autowired
private MockRestServiceServer server;
@Test
void getVehicleDetailsWhenResultIsSuccessShouldReturnDetails()
throws Exception {
this.server.expect(requestTo("/greet/details"))
.andRespond(withSuccess("hello", MediaType.TEXT_PLAIN));
String greeting = this.service.callRestService();
assertThat(greeting).isEqualTo("hello");
}
}
Читайте также:
- Spring Boot: автоматически настроенные Spring MVC тесты
- Spring Boot: автоматически настроенные Data JPA тесты
- Spring Boot: автоматически настроенные JDBC, Data JDBC, jOOQ тесты
Комментарии
Отправить комментарий