Robolectric:如何修复资产中的FileNotFoundException?

时间:2014-12-12 11:41:04

标签: android robolectric android-testing

在我的robolectric测试中,我正在尝试读取文件。由于此文件仅包含测试数据,因此我将其放在测试的资产中。

目录结构如下所示。 的src / main /资产/ prod_data_file 的src /测试/资产/ test_data_file

但是当我尝试通过getShadowApplication()。getAssets()。open(MY_FILE_PATH)或context.getAssets()。open(MY_FILE_PATH)来读取文件时,它会给我FileNotFoundException。

有人知道如何解决这个问题吗?

我尝试此解决方案Using assets in robolectric tests

这不起作用https://stackoverflow.com/a/21465230/1654690

2 个答案:

答案 0 :(得分:1)

此解决方案适用于我:

  1. 将所有文本文件移至src/test/resources文件夹

  2. 使用以下代码获取它们

    getClass().getClassLoader().getResourceAsStream("path/inside/resource_folder");
  3. 来自Robolectric github的comment帮助了我。

答案 1 :(得分:0)

确保路径正确。如果您确定路径正确,那么试试这个,

右键单击项目>单击刷新。它可能会奏效。 :)