Многоэлементное тестирование formData - PullRequest
0 голосов
/ 10 декабря 2018

Я отправляю запрос (номер 1 на картинке) с файлом изображения и входами (входы скрыты).Мой контроллер выглядит следующим образом (MealDto имеет поле MultipartFile):

@PutMapping("/{id}")
Mono<MealDto> editMeal(@PathVariable String id, @Valid MealDto mealDto) {
    return mealService.updateMeal(id, mealDto);
}

Все работает нормально, поэтому я хотел написать несколько тестов.Я считал изображение с рабочего стола и использовал MultipartBodyBuilder:

File file = new File("C:\\Users\\xxx\\Desktop\\2.jpeg");
        ByteArrayResource byteArrayResource = new ByteArrayResource(Files.readAllBytes(file.toPath())) {

            @Override
            public String getFilename() {
                return "2.jpeg";
            }

        };

MultipartBodyBuilder bodyBuilder = new MultipartBodyBuilder();
bodyBuilder.part("name", update.getName());
bodyBuilder.part("recipe", update.getRecipe());
bodyBuilder.part("description", update.getDescription());
bodyBuilder.part("imageToSave", byteArrayResource, IMAGE_JPEG);

webTestClient.put().uri(URI)
                .body(BodyInserters.fromObject(bodyBuilder.build()))
                .exchange()
                .expectStatus().isOk();

Номер 2 на изображении, которое я отправляю с помощью webTestClient, и какую ошибку я получил (номер 3 на картинке).Без изображения в бодибилдере это работает нормально - но я хочу протестировать кейс с изображением.

enter image description here

...