在我的 Android 项目中,我在
res/raw/config.json
中有一个文件。在 Android 应用程序中,可以通过 resources.openRawResource()
访问此文件。
有没有办法从单元测试(未检测)访问此文件?该文件存在于计算机上的项目中,因此应该是可能的...
有一个明显的解决方法,复制文件的内容并将其内联到测试中。
我在要点上遇到了以下代码片段,但我无法弄清楚,文件名应该是什么...以下不起作用...
javaClass.classLoader?.getResourceAsStream("config.json")
javaClass.classLoader?.getResourceAsStream("raw/config.json")
javaClass.classLoader?.getResourceAsStream("res/raw/config.json")
在单元测试中,您无法像在常规 Android 代码中那样使用
res/raw/
路径直接访问资源,因为单元测试在 Android 运行时环境之外运行。但是,您可以使用类加载器访问 src/test/resources
目录中的文件。方法如下:
将 config.json 文件从项目中的
res/raw/
移至 src/test/resources/
。
然后您可以使用单元测试中的类加载器访问此文件,使用
javaClass.classLoader?.getResourceAsStream("config.json")