Я использую макет restTemplate в своем тестовом примере и не могу использовать макет в коде. Пробовал вызов, но безуспешно.
Найдите тестовый пример, как показано ниже:
when(restTemplate.exchange(any(), eq(HttpMethod.POST), любой(HttpEntity.class), eq(MemberDataValidationResponse.class)))
.thenReturn(ResponseEntity.ok(mockResponse));
@Test
public void testValidateMemberData_Success() throws Exception {
MemberValidationRequest memberRequest = new MemberValidationRequest();
memberRequest.setCorelationIdentifier("123");
MemberDataValidationResponse mockResponse = new MemberDataValidationResponse();
mockResponse.setStatus("200");
HttpHeaders headers = SelfServiceValidation.populateTokenHeaders();
HttpEntity httpEntity = new HttpEntity(new JSONObject(memberRequest).toString(), headers);
when(restTemplate.exchange(any(), eq(HttpMethod.POST), any(HttpEntity.class), eq(MemberDataValidationResponse.class)))
.thenReturn(ResponseEntity.ok(mockResponse));
MemberDataValidationResponse response = new MemberDataValidationResponse();
try (MockedStatic mockStatic = mockStatic(SelfServiceDaoHelper.class)) {
mockStatic.when(() ->SelfServiceDaoHelper.auditApiRequestData(any(MapSqlParameterSource.class))).thenReturn(1);
assertEquals(1, SelfServiceDaoHelper.auditApiRequestData(new MapSqlParameterSource()));
MemberDataValidationResponse result = SelfServiceValidation.validateMemberData(memberRequest);
response = result;
};
assertNotNull(response);
assertEquals("200", response.getStatus());
}
Это реальный метод ниже:
public static MemberDataValidationResponse validateMemberData(MemberValidationRequest memberValidationRequest)
throws Exception {
MemberDataValidationResponse memberValidateResponse = new MemberDataValidationResponse();
try {
if (isSelfServicePortalServerAvailable(selfServicePortalURL)) {
String corelationId = UUID.randomUUID().toString();
InetAddress ipAddress = InetAddress.getLocalHost();
String spanId = corelationId + SelfServicePortalConstants.MEMBER_VALIDATION_CODE;
HttpHeaders headers = populateTokenHeaders();
RestTemplate restTemplate = new RestTemplate();
String validateMemberAPI = selfServicePortalURL + Endpoints.MEMBER_VALIDATION;
log.info("Self Service Portal API URL :{}", validateMemberAPI);
JSONObject jsonObj = new JSONObject(memberValidationRequest);
String requestBody = jsonObj.toString();
HttpEntity request = new HttpEntity(requestBody, headers);
processRequestAudit(memberValidationRequest, corelationId, spanId, ipAddress.toString(),
"Member Validation", "Claim Submission");
UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(validateMemberAPI);
ResponseEntity response = restTemplate.exchange(
builder.buildAndExpand().toUri(), HttpMethod.POST, request, MemberDataValidationResponse.class);
memberValidateResponse = (MemberDataValidationResponse) response.getBody();
processResponseAudit(memberValidateResponse, "", spanId, corelationId);
} else {
log.info(SELF_SERVICE_PORTAL_UNAVAILABLE_MESSAGE);
}
} catch (Exception cause) {
throw new RuntimeException(cause);
}
return memberValidateResponse;
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... e-exchange
Mockito не может издеваться над обменом RestTemplate ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1727506238
Anonymous
Я использую макет restTemplate в своем тестовом примере и не могу использовать макет в коде. Пробовал вызов, но безуспешно.
Найдите тестовый пример, как показано ниже:
[b]when(restTemplate.exchange(any(), eq(HttpMethod.POST), любой(HttpEntity.class), eq(MemberDataValidationResponse.class)))
.thenReturn(ResponseEntity.ok(mockResponse));[/b]
@Test
public void testValidateMemberData_Success() throws Exception {
MemberValidationRequest memberRequest = new MemberValidationRequest();
memberRequest.setCorelationIdentifier("123");
MemberDataValidationResponse mockResponse = new MemberDataValidationResponse();
mockResponse.setStatus("200");
HttpHeaders headers = SelfServiceValidation.populateTokenHeaders();
HttpEntity httpEntity = new HttpEntity(new JSONObject(memberRequest).toString(), headers);
when(restTemplate.exchange(any(), eq(HttpMethod.POST), any(HttpEntity.class), eq(MemberDataValidationResponse.class)))
.thenReturn(ResponseEntity.ok(mockResponse));
MemberDataValidationResponse response = new MemberDataValidationResponse();
try (MockedStatic mockStatic = mockStatic(SelfServiceDaoHelper.class)) {
mockStatic.when(() ->SelfServiceDaoHelper.auditApiRequestData(any(MapSqlParameterSource.class))).thenReturn(1);
assertEquals(1, SelfServiceDaoHelper.auditApiRequestData(new MapSqlParameterSource()));
MemberDataValidationResponse result = SelfServiceValidation.validateMemberData(memberRequest);
response = result;
};
assertNotNull(response);
assertEquals("200", response.getStatus());
}
Это реальный метод ниже:
public static MemberDataValidationResponse validateMemberData(MemberValidationRequest memberValidationRequest)
throws Exception {
MemberDataValidationResponse memberValidateResponse = new MemberDataValidationResponse();
try {
if (isSelfServicePortalServerAvailable(selfServicePortalURL)) {
String corelationId = UUID.randomUUID().toString();
InetAddress ipAddress = InetAddress.getLocalHost();
String spanId = corelationId + SelfServicePortalConstants.MEMBER_VALIDATION_CODE;
HttpHeaders headers = populateTokenHeaders();
RestTemplate restTemplate = new RestTemplate();
String validateMemberAPI = selfServicePortalURL + Endpoints.MEMBER_VALIDATION;
log.info("Self Service Portal API URL :{}", validateMemberAPI);
JSONObject jsonObj = new JSONObject(memberValidationRequest);
String requestBody = jsonObj.toString();
HttpEntity request = new HttpEntity(requestBody, headers);
processRequestAudit(memberValidationRequest, corelationId, spanId, ipAddress.toString(),
"Member Validation", "Claim Submission");
UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(validateMemberAPI);
ResponseEntity response = restTemplate.exchange(
builder.buildAndExpand().toUri(), HttpMethod.POST, request, MemberDataValidationResponse.class);
memberValidateResponse = (MemberDataValidationResponse) response.getBody();
processResponseAudit(memberValidateResponse, "", spanId, corelationId);
} else {
log.info(SELF_SERVICE_PORTAL_UNAVAILABLE_MESSAGE);
}
} catch (Exception cause) {
throw new RuntimeException(cause);
}
return memberValidateResponse;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79027091/mockito-not-able-to-mock-the-resttemplate-exchange[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия