问题描述
我有一个使用Thymeleaf的Spring Boot 2.3.0应用程序。
我有一个表单,其中有一个<input type='file'>
和Java中相应的表单数据对象:
public class UserFormData {
private multipartfile avatarFile;
// getters and setters
}
我的<form>
有enctype="multipart/form-data"
。在实际应用中一切正常。
但是,当运行HtmlUnit测试时,我得到:
字段“ avatarFile”上的对象“用户”中的字段错误:拒绝的值[];代码[typeMismatch.user.avatarFile,typeMismatch.avatarFile,typeMismatch.org.springframework.web.multipart.multipartfile,typeMismatch];参数[org.springframework.context.support.DefaultMessageSourceResolvable:代码[user.avatarFile,avatarFile];参数[];默认消息[avatarFile]];默认消息[未能将类型'java.lang.String'的属性值转换为属性'avatarFile'的必需类型'org.springframework.web.multipart.multipartfile';嵌套异常为java.lang.IllegalStateException:无法将属性“ avatarFile”的类型“ java.lang.String”的值转换为所需的类型“ org.springframework.web.multipart.multipartfile”:找不到匹配的编辑器或转换策略]
测试使用@WebMvcTest
启动测试的Spring上下文。