Search code examples
androidrobolectricandroid-testing

Using assets in robolectric tests


In my robolectric tests I am trying to read a file. Since this file contains just the test data I have put it in assets of the tests.

The directory structure looks like this.
src/main/assets/prod_data_file
src/test/assets/test_data_file

However when I try to read the file by getShadowApplication().getAssets().open(MY_FILE_PATH) it gives me FileNotFoundException.

Does anybody know how to fix this?


Solution

  • Since my tests are just reading these files and returning file data as a String I was able to do that via getClass().getClassLoader().getResourceAsStream(MY_FILE_PATH) and then read file. Dont really need to read to use getShadowApplication().getAssets().open(MY_FILE_PATH).

    I just moved my test data files to src/test/resources and it worked. :)