栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Play 2.0 FakeRequest中测试MultipartFormData

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Play 2.0 FakeRequest中测试MultipartFormData

您应该使用callAction来与FormUrlEnpredBody一起使用

@Testpublic void testMyAction() {    running(fakeApplication(), new Runnable() {        public void run() {      Map<String,String> data = new HashMap<String, Object>(); data.put("param1", "test-1"); data.put("param2", "test-2"); data.put("file", file); Result result = callAction(     controllers.whatever.action(),     fakeRequest().withFormUrlEnpredBody(data) ) ...         }     }}

我只将Scala api用于Play framework 2,但我认为您不能使用withFormUrlEnpredBody测试多部分表单。

您可以在Scala中以这种方式进行操作:

import play.api.libs.Files._import play.api.mvc.MultipartFormData._class MyTestSpec extends Specification {    "mytest should bla bla bla" in {        running(FakeApplication(aditionalConfiguration = inMemoryDatabase())) { val data = new MultipartFormData(Map(     ("param1" -> Seq("test-1")),     ("param2" -> Seq("test-2")) ), List(     FilePart("payload", "message", Some("Content-Type: multipart/form-data"), play.api.libs.Files.TemporaryFile(new java.io.File("/tmp/pepe.txt")))    ), List(), List()) val Some(result) = routeAndCall(FakeRequest(POST, "/route/action", FakeHeaders(), data)) ...        }    }}

我想您可以将其转换为Java,对不起,我不知道如何用Java对其进行编码。

PD:对不起,我还在学习英语



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/452949.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号