如何测试 commonsMultipartFile 文件?
How to test commonsMultipartFile files?
各位,
我正在 Grails 中使用 spock 测试某些需要 CommonMultipartFile 作为输入参数的方法。
我的问题是如何创建这些文件以便不生成本地文件。其中一些必须使用 request.getFile,所以我想我会在所有这些方法中使用 MockMultipartFile class。
问题是它告诉我您不能在以下转换中从 MockMultipartFile 转换为 CommonsMultipartFile:
CommonsMultipartFile commonsMultipartFile = (CommonsMultipartFile) request.getFile("filecsv")
有谁知道如何进行这样的转换?
P.S.: 在此之前我只做了以下事情:
MultipartFile multipartFile = new MockMultipartFile("filecsv","filecsv", "")
request.addFile(multipartFile)
您没有提到您正在使用 Spring 中的类型,我必须先进行网络搜索。不要让人们试图帮助您猜测。相反,请相应地解释或至少标记问题(我只是为你做了)。
您不能转换不兼容的类型。 CommonsMultipartFile
and MockMultipartFile
都直接扩展了 Object
并实现了 MultipartFile
和 InputStreamSource
接口。所以你只能投射到他们共有的东西,即那些接口之一。
顺便说一句,我从未使用过 Grails,但它的 API 似乎有一个 GrailsMockMultipartFile
扩展了 Spring MockMultipartFile
并提供了 transferTo
不使用文件系统。
各位, 我正在 Grails 中使用 spock 测试某些需要 CommonMultipartFile 作为输入参数的方法。
我的问题是如何创建这些文件以便不生成本地文件。其中一些必须使用 request.getFile,所以我想我会在所有这些方法中使用 MockMultipartFile class。
问题是它告诉我您不能在以下转换中从 MockMultipartFile 转换为 CommonsMultipartFile:
CommonsMultipartFile commonsMultipartFile = (CommonsMultipartFile) request.getFile("filecsv")
有谁知道如何进行这样的转换?
P.S.: 在此之前我只做了以下事情:
MultipartFile multipartFile = new MockMultipartFile("filecsv","filecsv", "")
request.addFile(multipartFile)
您没有提到您正在使用 Spring 中的类型,我必须先进行网络搜索。不要让人们试图帮助您猜测。相反,请相应地解释或至少标记问题(我只是为你做了)。
您不能转换不兼容的类型。 CommonsMultipartFile
and MockMultipartFile
都直接扩展了 Object
并实现了 MultipartFile
和 InputStreamSource
接口。所以你只能投射到他们共有的东西,即那些接口之一。
顺便说一句,我从未使用过 Grails,但它的 API 似乎有一个 GrailsMockMultipartFile
扩展了 Spring MockMultipartFile
并提供了 transferTo
不使用文件系统。