【问题标题】:Can i send real file using MockMultipartFile?我可以使用 MockMultipartFile 发送真实文件吗?
【发布时间】:2020-03-29 14:45:19
【问题描述】:

我有简单的控制器。

@PostMapping()
public Integer uploadFile(MultipartFile file) throws IOException {
    return service.readFileFromExcel(file);
}

我想为它编写集成测试。我已经阅读了 MockMultipartFile 并且我已经看到了一些示例,但是它们太简单了,例如

MockMultipartFile file = new MockMultipartFile("file", "hello.txt", MediaType.TEXT_PLAIN_VALUE, "Hello, World!".getBytes());

但是我是否有办法从资源目录发送真实文件而不是"Hello, World!".getBytes()

【问题讨论】:

  • 我想我的问题不太清楚。我想要的是为此控制器编写测试

标签: java spring testing junit


【解决方案1】:

MockMultipartFile 有一个constructor which uses an InputStream

public MockMultipartFile(字符串名称,

输入流内容流) throws IOException 使用给定的内容创建一个新的 MockMultipartFile。参数:name - 文件名

contentStream - 文件内容作为流 抛出:IOException - 如果从流中读取失败

所以你可以放入一个 FileInputStream

MockMultipartFile file = new MockMultipartFile("file",new FileInputStream("FileName"));

【讨论】:

    猜你喜欢
    • 2021-05-03
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 2016-10-17
    相关资源
    最近更新 更多