Тест MockMVC не работает при вызываемом внутреннем APIJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Тест MockMVC не работает при вызываемом внутреннем API

Сообщение Anonymous »

Я разрабатываю приложение/библиотеку Spring Boot, где у меня есть сервис, который отправляет запрос API. При тестировании интеграции точка входа в службу является конечной точкой /интеграции. Следующий код - это MVP, чтобы воспроизвести ошибку < /p>
Основная служба: < /p>

Код: Выделить всё

@Service
@RequiredArgsConstructor
public class CalculationService {

private final RestClient restClient;

public CalculationResponse calculate(CalculationRequest request){
return restClient.post().uri("/service/calculate")
.body(request)
.retrieve()
.toEntity(CalculationResponse.class).getBody();

}
}
< /code>
Основной контроллер < /p>
@RestController
@RequestMapping("/service")
public class MockApi {

@PostMapping("/calculate")
public CalculationResponse calculate(@RequestBody CalculationRequest calculationRequest) {
CalculationResponse calculationResponse = new CalculationResponse();
calculationResponse.setSummary(calculationRequest.getName()+ "----" + calculationRequest.getValue());
return calculationResponse;
}
}
< /code>
Точка входа для моего интеграционного теста < /p>
@RestController
@RequestMapping
@RequiredArgsConstructor
public class TestController {

private final CalculationService calculationService;

@PostMapping("/integration")
public CalculationResponse integration(@RequestBody CalculationRequest request) {
return calculationService.calculate(request);
}

}

< /code>
restclient configuration < /p>
@Configuration
public class CalculationConfiguration {

@Bean
public RestClient restClient() {
return RestClient.builder()
.baseUrl("http://localhost:8080")
.build();
}

}

< /code>
Интеграционный тест < /p>
@AutoConfigureMockMvc
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ExtendWith(SpringExtension.class)
public class IntegrationTest {

@Autowired
private MockMvc mockMvc;

@Autowired
private ObjectMapper objectMapper;

@Test
public void thatSummaryIsReturned() throws Exception {

CalculationRequest request = new CalculationRequest("Test", "Value");
mockMvc.perform(MockMvcRequestBuilders.post("/integration")
.contentType(MediaType.APPLICATION_JSON)
.content(objectMapper.writeValueAsString(request)))
.andExpect(status().isOk())
.andReturn();
}

}
При запуске теста я получаю следующую ошибку:
Отказ обработки запроса: org.springframework.web.client.resourceaccessexexception: ошибка ввода/вывода по почте запрос на "http: /// localhost: 8080/service/receculation": null
Не удалось: org.springframework.web.client.resourceaccessexception: ошибка ввода/вывода по почтовым запросу для «http: // localhost: 8080/service/saclulate»: null
at org.springframework.web.servlet.frameworkservlet.processrequest (frameworkservelcervelcervelcervlet.jerserflet.frameworkservlet.processrequest. org.springframework.web.servlet.frameworkservlet.dopost (frameworkservlet.java:914)
at jakarta.servlet.http.httpservlet.service (httpservlet.java:590)
atser org.springframework.web.servlet.frameworkservlet.service (frameworkservlet.java:885)
at org.springframework.test.web.servlet.testdispatcherservlet.service (testdispatcherservlet.java:72) ate jakarta.servlet.http.httpservlet.service (httpservlet.java:658) < /p>
Когда я меняю конечную точку в своем интеграционном тесте непосредственно, чтобы /служить /рассчитывать, что он работает. Есть ли у кого -нибудь идея, почему это так? Так кажется, что в моем тестовом контексте чего -то не хватает ...

Подробнее здесь: https://stackoverflow.com/questions/795 ... -is-called
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Тест MockMVC не работает при вызываемом внутреннем API
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Codeception: приемочный тест выполняется как первый тест в группе тестов, где тест API определяется как первый тест в гр
    Anonymous » » в форуме Php
    0 Ответы
    91 Просмотры
    Последнее сообщение Anonymous
  • Тест интеграции Spring Boot с @MockMvc, возвращающим пустое тело
    Anonymous » » в форуме JAVA
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Тест интеграции Spring Boot с @MockMvc, возвращающим пустое тело
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Тест интеграции Spring Boot с @MockMvc, возвращающим пустое тело
    Anonymous » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»