繁体   English   中英

无法使用 Junit 测试用例中的 MultipartFile 数组访问端点

[英]Unable to hit the endpoint with MultipartFile array from Junit test case

当我尝试到达端点时,我得到的是 404 而不是 200 响应代码。 它没有到达端点"/multiFilestore" 我认为我没有正确地形成请求,但无法弄清楚这里缺少什么。 任何指针将不胜感激。

我的端点如下所示

@PostMapping(path = "/multiFilesStore", consumes = { MediaType.MULTIPART_FORM_DATA_VALUE })
public Map<String, String> myUploads(@RequestPart(value = "attachments") final MultipartFile[] attachments, @RequestPart(value = "prefix", required = true) String prefix ) {
   return s3Service.uploadFiles(attachments, prefix);
}

我的 JUnit 测试用例是

public void testMyUploadFiles() throws Exception {
    byte[] content = new byte[100];
    MockMultipartFile filePart1 = new MockMultipartFile("files", "file1.pdf", null, content);
    MockMultipartFile filePart2 = new MockMultipartFile("files", "file2.pdf", null, content);
    MultipartFile[] fileAttachments={filePart1,filePart2};

    Mockito.when(s3Service.uploadFiles(fileAttachments, "dummyFolder")).thenReturn(Map.of("file1.pdf", "Ok"));

    ResultMatcher ok = MockMvcResultMatchers.status().isOk();
    mockMvc.perform(MockMvcRequestBuilders.fileUpload("/multiFilesStore")
                    .file(filePart1)
                    .file(filePart2)
                    .param("prefix", "dummyFolder")
                    .contentType(MediaType.MULTIPART_FORM_DATA_VALUE))
                .andDo(MockMvcResultHandlers.log())
                .andExpect(ok);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM