У меня есть следующий отрицательный тестовый код (должен произойти сбой и вызвать исключение):
@Test
public void testInventoryControllerGetNonExistingRegion() {
final String name = "ME_2";
RegionConfiguration refRegionConfiguration = prepareReferenceObject(name);
assertThatExceptionOfType(EntityDoesNotExistException.class).isThrownBy(() -> {
inventoryRegionController.get(null,name);
});
}
Тест вызывает следующий метод get () и должен вызвать исключение EntityDoesNotExistException.
@ApiOperation(value = "Get a region")
@RequestMapping(value = "regions/{" + REGION + "}", method = RequestMethod.GET)
public RegionConfiguration get(@RequestHeader(value = AUTHORIZATION_HEADER, defaultValue = "Bearer {{JWT}}") String authorization,
@PathVariable(REGION) String regionName) throws EntityDoesNotExistException {
InventoryRegionEntity inventoryRegionEntity = null;
inventoryRegionEntity = RegionInventoryService.find(regionName);
if(null != inventoryRegionEntity)
return RegionConfigurationMapper.mapInventoryRegionEntity(inventoryRegionEntity);
else
throw new EntityDoesNotExistException(InventoryRegionEntity.class, regionName);
}
Метод get () выдает исключение по мере необходимости (я установил точку останова и проверил)!Но AssertJ показывает мне сообщение об ошибке и не проходит мой тест.
java.lang.AssertionError:
Expecting:
<org.springframework.web.client.HttpClientErrorException: 404 null>
to be an instance of:
<com.gms.contract.exception.EntityDoesNotExistException>
but was:
<"org.springframework.web.client.HttpClientErrorException: 404 null
Почему это происходит?
Спасибо!