在我之前的一篇文章中,我创建了一个 API 来上传文件。在这篇文章中,我将编写一个 JUnit 测试来测试 API。我们将测试从上传到复制到文件系统的完整流程,然后我们还将看到如何模拟 FileService 类,以便上传的文件不会复制到文件系统。
@Slf4j
@RestController
@RequestMapping("/api/files")
public class FileUploadAPIController {
@Autowired FileService fileService;
@PostMapping("/upload")
public ResponseEntity<?> handleFileUpload(
@RequestParam("uploaded-file") List<MultipartFile> uploadedFiles
) throws IOException {
log.debug("Uploaded files size : {}", uploadedFiles.size());
fileService.copyFile(uploadedFiles);
return ResponseEntity.ok().build();
}
}
- 第 1-4 行:使用基本 URL 声明 RESTful API:/api/files
- 第 6 行:注入FileService用于将上传的文件复制到文件系统的托管 bean
- 第 8 行:将通过 HTTP POST 可用的上传 API 映射到 URL:/api/files/upload
- 第 10 行:接受超过