如何将InputStream转换为FilePart



我正在尝试测试这个简单的功能,它从控制器接收文件并从中提取电子邮件

fun extractEmailsFromFile(file: Mono<FilePart>, emailsPerFileLimit: Int): Flux<String> {
return file
.flatMap { readFileContent(it) }
.flatMapMany { textContent -> extractAndValidateEmails(textContent, emailsPerFileLimit) }
}

为了进行单元测试,我想把一个文件放在资源文件夹中并阅读它。我如何转换这个inputStream:

javaClass.getResourceAsStream("/upload/emails.csv")

在FilePart中作为参数在我的测试中传递?

您可以尝试这一行:

getClass().getClassLoader().getResourceAsStream("upload/emails.csv")

此外,在使用JUnit的单元测试中,如果需要,可以使用TemporaryFolder规则来创建临时文件夹和文件。它非常有用。有关更多信息:https://junit.org/junit4/javadoc/4.12/org/junit/rules/TemporaryFolder.html

最新更新