I have an Android application using the new standard gradle layout:
src/main/java src/main/resources src/instrumentTest/java src/instrumentTest/resources
I have a unit test in src/instrumentTest/java/com/example/MyUnitTest.java
that reads a file located in src/instrumentTest/resources/testfile.json
I have tried these two ways for reading the file in the unit test with no success (it cannot find the file):
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();
Cheers!
You can use the assets folder of the build type your are testing. If you are testing the debug type (which is the default one):
src/debug/res/assets
And then you access those files with
InputStream raw = context.getAssets().open("filename.ext");
String myJson = new Scanner(raw).useDelimiter("\\A").next();
The trick of using the debug build type prevent your testing resources to be packed in the final apk.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With