我正在尝试模拟 MultipartFile,并且想使用我在测试中创建的流来创建模拟
我也尝试过使用一个文件,但运气不佳。这是我到目前为止所尝试过的
FileInputStream stream = new
FileInputStream("MOCK_file.xlsm");
MultipartFile f1 = new MockMultipartFile("file1",stream);
MultipartFile[] files = {f1};
return files;
我收到一个 fileNotFoundException。我应该将文件放在 Maven 项目中的什么位置以便单元测试可以找到该文件?
-- 或 --
如何在代码中创建流而不使用文件?
最佳答案
更好的是,您可以仅模拟 MultipartFile
,并且根本不需要 InputStream
。
为此,您只需执行mock(MultiPartFile.class)
,然后定义每个函数将执行的操作
例如,如果您使用名称
final MultipartFile mockFile = mock(MultipartFile.class);
when(mockFile.getOriginalFilename()).thenReturn("CoolName");
这样您就不必担心实际文件或意外响应,因为您将定义它们
关于Java:单元测试中的模拟多部分文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58207609/