【发布时间】:2015-11-27 18:11:10
【问题描述】:
到目前为止(直到 Play 2.3)创建一个模拟请求,我使用了Helpers.fakeRequest().withAnyContent()。例如
private Request getMultiPartFormDataRequestForFileUpload(File file,
String filePartKey, String contentType) {
FilePart<TemporaryFile> part = new MultipartFormData.FilePart<>(
filePartKey, file.getName(), Scala.Option(contentType),
new TemporaryFile(file));
List<FilePart<TemporaryFile>> fileParts = new ArrayList<>();
fileParts.add(part);
scala.collection.immutable.List<FilePart<TemporaryFile>> files = scala.collection.JavaConversions
.asScalaBuffer(fileParts).toList();
MultipartFormData<TemporaryFile> formData = new MultipartFormData<TemporaryFile>(
null, files, null, null);
return Helpers.fakeRequest().withAnyContent(formData);
}
在 Play 2.4 中,这不再可能了。如果我查看RequestBuilder(由 FakeRequest 实现)的来源,存在类似的功能,但它受到保护,我无法使用它。
protected Http.RequestBuilder body(play.api.mvc.AnyContent anyContent)
Set a AnyContent to this request.
有谁知道我如何编写测试用例来检查在 2.4 中使用 MultipartFormData 上传的文件?
【问题讨论】:
标签: java playframework playframework-2.4