我有一段 java 代码,它从文件中读取字符串并根据字符串创建映射。由于此代码依赖于文件,因此单元测试很笨拙。如何设计这样的片段才能对代码进行单元测试?
我能想到的一种方法是,这篇文章不是将文件作为参数,而是可以将输入流作为参数。在实际场景中,传递文件输入流,而单元测试传递从字符串创建的输入流。但是,这对我来说看起来像是杀戮。有没有更好的办法?
最佳答案
如果您对文件所做的一切都是读取文件,那么不提供从 InputStream
读取的函数就是设计错误。因此,修改函数以采用 InputStream
,并提供采用 File
的包装器。使用 ByteArrayInputStream或 StringInputStream 来测试它没问题。
关于java - 文件读取和可测试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1011061/