在Play 1.2.4中,我一直试图弄清楚为什么我的功能测试似乎没有正确地POST文件数据(它为空)。我正在测试的控制器动作是:
doUploadProfileImage(@Required File file, User user)
功能测试代码就像这样调用它:
File file = VirtualFile.fromRelativePath("/test/imagetest.jpg").getRealFile();
Map<String,String> params = new HashMap<String,String>();
params.put("user.id", user.id.toString());
Map<String,File> files = new HashMap<String,File>();
files.put("file", file);
Response response = POST(Router.reverse("ImageController.doUploadProfileImage").url, params, files);
当我在调试中单步执行时,POST之前一切正常,但是当我到达“doUploadProfileImage()”时,“file”参数为NULL。
关于这里发生了什么的任何提示?播放服务器检查/记录接收/原始POST数据的简单方法是什么?
提前谢谢, SM答案 0 :(得分:1)
我发现这个问题,经过几个小时的调试,只是因为这行是在我的conf / application.conf中为play-cobertura-module:
%test.play.tmp=none
更改为:
%test.play.tmp=/tmp
有效!