Как имитировать blob-сервис для загрузки изображения в хранилище больших двоичных объектов azure

#spring-boot #azure #azure-active-directory #azure-web-app-service

Вопрос:

Я пытаюсь написать junit для службы загрузки. Но Blobservicesclient-это последний класс. мы можем использовать power mockito, но в моем проекте power mockito запрещено использовать. Как написать тестовый пример для этого?

Ответ №1:

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

Для этого я рекомендую издеваться и обслуживать из каталога ресурсов.

При написании тестов всегда старайтесь следовать заданной модели «когда», «затем». Например:

 @Test
public void uploadFileTest() throws Exception{
    //given
    InputStream uploadStream = UploadControllerTest.class.getClassLoader().getResourceAsStream("exceldocument.xlsx");
    MockMultipartFile file = new MockMultipartFile("file", uploadStream);
    assert uploadStream != null;

//when
this.mockMvc.perform(fileUpload("/DefectImport")
        .file(file))
//then
        .andExpect(status().isOk());
}
 

Это издевается над многоступенчатой загрузкой файла и проверяет, что входной поток не равен нулю и что статус загрузки в порядке (200).