spring - 如何测试 commonsMultipartFile 文件?

标签 spring unit-testing grails groovy spock

大家,
我正在使用 Grails 中的 spock 测试某些需要 CommonMultipartFile 作为输入参数的方法。
我的问题是如何创建这些文件,以便不生成本地文件。其中一些必须使用 request.getFile,所以我想我会在所有这些方法中使用 MockMultipartFile 类。
问题是它告诉我不能在以下转换中从 MockMultipartFile 转换为 CommonsMultipartFile:

CommonsMultipartFile commonsMultipartFile = (CommonsMultipartFile) request.getFile("filecsv") 
有谁知道如何做这样的类型转换?
P.S.:在此之前,我只做了以下事情:
MultipartFile multipartFile = new MockMultipartFile("filecsv","filecsv", "")
request.addFile(multipartFile)

最佳答案

您没有提到您使用的是 Spring 的类型,我必须先进行网络搜索。不要让人们试图帮助你猜测。相反,请解释或至少相应地标记问题(我只是为你做了那个)。
您不能强制转换不兼容的类型。两个 CommonsMultipartFile MockMultipartFile 直接扩展Object并实现 MultipartFileInputStreamSource接口(interface)。因此,您只能转换为它们的共同点,即其中一个接口(interface)。
顺便说一句,我从未使用过 Grails,但它的 API 似乎有一个 GrailsMockMultipartFile 延长 Spring MockMultipartFile并提供 transferTo 的实现不使用文件系统。

关于spring - 如何测试 commonsMultipartFile 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62932489/

相关文章:

spring - 如何以编程方式创建触发器对象?

java - 使用 Spring 在 JSP 上显示值列表

android - 在 Android Studio 中运行单元测试时,类覆盖率和行覆盖率有什么区别?

ios - OCMockito 是否在 verify() 调用后重置调用计数?

mysql - Grails:我可以让验证器仅适用于创建(而不是更新/编辑)

grails - 如何在Grails中从自身内部设置Domain类的引用?

java - 如何使用Spring Boot Web应用程序将对象放入AWS S3存储桶

unit-testing - 单元测试期间 Ada 中的异常处理

Grails 未加载 .jar 文件中的类

Spring 可配置、高性能、计量 http 客户端实例