Spring MockMvc:将MultiPartFile设置为表单的一部分

时间:2014-07-04 14:35:43

标签: spring file testing case mockmvc

我的控制器如下所示

@RequestMapping(method = RequestMethod.POST)
protected String processSubmit(HttpServletRequest request,
        @Valid @ModelAttribute("binaryUploadForm") BinaryUploadForm form, BindingResult result, ModelMap model) throws Exception {

然后我循环浏览文件

    final int numberOfFiles = form.getFiles().size();
    for (int i = 0; i < numberOfFiles; i++) {
        final MultipartFile multipartFile = form.getFiles().get(i);

我想使用Spring的MockMvc为此编写一个测试用例。

mockMvc.perform(fileUpload("/binary-management/add-binary.html").file(file)

没有帮助,因为multipartfile不是作为参数的一部分而是作为表单中的字段。

你能帮忙吗?

对评论的回复:

JSP中的

我有一个类似下面的字段

<input id="files0" type="file" name="files[0]" style="font-size:1.2em;height:22px;position:static;" size="48"/>

和表单实现如下

public List<MultipartFile> getFiles() {
    return files;
}


public void setFiles(List<MultipartFile> files) {
    this.files = files;
}

html表单是使用javascript提交的,这是非常复杂并使用EXT JS

0 个答案:

没有答案