Не могу утверждать исключение с помощью AssertJ

У меня есть следующий отрицательный тестовый код (он должен завершиться неудачно и вызвать исключение):

@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

Почему так происходит?

Спасибо!

Вам лучше сначала протестировать RegionInventoryService.find (regionName). Чтобы протестировать остальные API, обратитесь к stackoverflow.com/questions/26237714/…

Miller Cy Chan 15.10.2018 08:47

Как отметил ОП, корень проблемы в другом. Проголосовал за закрытие как «неспособный к воспроизведению».

Jongware 24.12.2018 13:07
2
2
148
0

Другие вопросы по теме