如何在 Robolectric 中模拟 Scanner scanner = new Scanner(file, "UTF-8")

How to mock Scanner scanner = new Scanner(file, "UTF-8") in Roboelectric

我在使用 Roboelectric 或 Powermockito 模拟以下提到的行时遇到了问题

File file = new File(context.getFilesDir() + FILE_NAME);
Scanner scanner = new Scanner(file, "UTF-8")

它抛出以下异常 java.io.FileNotFoundException: "data/data/Logs/Text.txt" (系统找不到指定的文件)

即使我能够模拟文件并设置文件的路径。

关于如何模拟扫描仪的任何建议class。

找到了解决方案,我刚刚在资源文件夹中创建了具有相同文件名的文件,并向其中添加了虚拟文本。这样当在测试用例中执行扫描器语句时,它将读取虚拟文件。