所以我在我的一个控制器中有一个方法,它需要一个 CSV 文件,然后它会处理。这一切似乎都很好,但我想添加一些测试来验证它。但是,我不能 100% 确定如何进行测试。
我写了一个应该可以工作的快速测试方法(据我所见),但我收到以下错误:
A java.lang.RuntimeException has been caught, java.io.FileNotFoundException: File is not a normal file.
我的代码如下:
控制器方法:
/* client-side scripts dictate the incoming
* file will be called "files".
*/
public static void upload(File files) {
//do some work
}
控制器测试方法:
/* this test class and the file "valid-data.csv"
* are in the same folder.
*/
@Test
public void upload() {
File csvFile = Fixtures.loadYaml("valid-data.csv", File.class);
Map<String, File> fileMap = new HashMap<String, File>();
fileMap.put("files", csvFile);
Response response = POST("/api/upload", new HashMap<String, String>(), fileMap);
assertIsOk(response);
}
我会以正确的方式解决这个问题吗?我正在使用 Play Framework 1.2.5