У меня есть следующий отрицательный тестовый код (должен произойти сбой и выдать исключение):
@Test
public void testInventoryControllerGetNonExistingRegion() {
final String name = "ME_2";
RegionConfiguration refRegionConfiguration = prepareReferenceObject(name);
try(
inventoryRegionController.get(null,name);
} catch (EntityDoesNotExistException e){
//report something...
}
}
Тест вызывает следующий метод 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 () ВЫБИРАЕТ исключение по мере необходимости (у меня была точка останова и проверено)!Но мой тест никогда не ловит это.И это потому, что я получаю
HttpServerErrorException: 500 null
И это исключение действительно перехватывается предложением catch.Почему это происходит здесь?
Спасибо!