我有一个使用新标准gradle布局的Android应用程序:
src/main/java src/main/resources src/instrumentTest/java src/instrumentTest/resources
我在src/instrumentTest/java/com/example/MyUnitTest.java
中有一个单元测试,用于读取 src/instrumentTest/resources/testfile.json
我尝试过这两种方法在单元测试中读取文件但没有成功(找不到文件):
String myJson = new Scanner(new File("testfile.json"),"UTF-8").useDelimiter("\\A").next(); String myJson = new Scanner(new File("resources/testfile.json"),"UTF-8").useDelimiter("\\A").next();
干杯!
答案 0 :(得分:5)
您可以使用您正在测试的构建类型的assets文件夹。如果您正在测试调试类型(这是默认类型):
src/debug/res/assets
然后使用
访问这些文件InputStream raw = context.getAssets().open("filename.ext");
String myJson = new Scanner(raw).useDelimiter("\\A").next();
使用 debug 构建类型的技巧可以防止您的测试资源被打包到最终的apk中。