vendredi 30 octobre 2015

How to load the same JSON file in both an Android app and local unit test?

I have an Android project that displays data from a JSON file. The file is read from the assets directory, following the approach below:

src/main/assets/my_file.json

InputStream is = getResources().getAssets().open(filename);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
// use StringBuilder to get file contents as String

I also have local unit tests which require the same JSON file. In order to avoid the slowness of Instrumentation tests, I am currently loading a duplicate of the file as below:

src/main/resources/my_copy.json

File testData = new File(getClass().getResource(filename).getPath());
InputStream is = new FileInputStream(testData);
// read File as before

Is there an approach that would allow the JSON file to be stored in one location, whilst running the unit tests on a local JVM?

Aucun commentaire:

Enregistrer un commentaire