Сопоставление аргументов файла Mockito Multipart - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь выполнить интеграционный тест, который выдает исключение для метода void для имитации сбойного сервиса. У метода есть строковый параметр и многокомпонентный файл в качестве параметра, и он, похоже, не работает, даже если для метода void создается исключение с двумя строковыми параметрами.

Рабочий интеграционный тест:

    @Test
    @DisplayName("500 response -- downed case mgmt microservice")
    public void downedCaseMgmt() throws Exception {
        BDDMockito.doThrow(new RuntimeException("mocking an error")).when(reportEventService).reportDocUpload(ArgumentMatchers.any(String.class), ArgumentMatchers.anyString());

        //Rest assured portion
        given().
                multiPart("file", xlsxGoodFile).
                params(paramsMap).
        when().
                post("").
        then().
                statusCode(500);
    }

Неработающий интеграционный тест:

    @Test
    @DisplayName("500 response -- downed object storage")
    public void downedObjectStorage() throws Exception {
        BDDMockito.doThrow(new RuntimeException("mocking an error")).when(objectStorageService).saveFileToObjectStorage(ArgumentMatchers.anyString(), ArgumentMatchers.any(File.class));

        //Rest assured portion
        given().
                multiPart("file", xlsxGoodFile).
                params(paramsMap).
        when().
                post("").
        then().
                statusCode(500);
    }

1 Ответ

0 голосов
/ 01 октября 2019

Оказывается, что функция saveFileToObjectStorage имела нулевое значение из-за насмешки над objectStorageService и того факта, что я издевался над возвратом. Ошибка с моей стороны, и я решил ее с помощью следующего кода:

    @Test
    @DisplayName("500 response -- downed db")
    public void downedDb() throws Exception {
        BDDMockito.doThrow(new RuntimeException("mocking an error")).when(excelDataRepository).
                save(ArgumentMatchers.any());

        //Rest assured portion
        given().
                multiPart("file", xlsxGoodFile).
                params(paramsMap).
        when().
                post("").
        then().
                statusCode(500);
    }

ПРИМЕЧАНИЕ: any () из ArgumentMatchers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...