gpt4 book ai didi

java - 如何模拟特定的阅读文件?

转载 作者:行者123 更新时间:2023-12-02 13:29:11 25 4
gpt4 key购买 nike

我正在实现一个单元测试,该单元测试应该从特定路径读取文件并执行一些操作。
在实际情况下,我的文件将存在于OS的特定路径中-类似于/users/placplac/file.txt
如何在单元测试中实现模拟(或从资源中读取文件)?
这是我要模拟的代码:

class ReportServiceImpl(val filePath: String) {

private fun getContent() {
val reader = Mybject(File(filePath).bufferedReader()) // this is what I want to mock
....
}
}
可以仅模拟 File(filePath).bufferedReader()部分吗?

最佳答案

只要未对路径进行硬编码并将其作为参数传递,您就可以使用带有测试资源的路径(在src/test/resources中)调用此函数:

val resource = this::class.java.classLoader.getResource("test.txt")
val file = Paths.get(resource.toURI()).toFile()
val absolutePath = file.getAbsolutePath()
val subject = ReportServiceImpl(absolutePath)

... do your tests

关于java - 如何模拟特定的阅读文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62514791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com