我在我的一个 android 项目中实现了一个 JSON 接口,用于通过 http 获取模型数据。
到目前为止这有效,我想写一些测试。我按照 android 文档中的建议创建了一个测试项目。为了测试 JSON 接口,我需要一些我想放入文件中的测试数据。
我的研究表明,最好将这些文件放在 android 测试项目的 assets 文件夹中。要访问资产文件夹中的文件,应该通过 InstrumentationTestCase 扩展测试类。那么应该可以通过在资源对象上调用 getAssets().open() 来访问文件。所以我想出了以下代码:
public class ModelTest extends InstrumentationTestCase {
public void testModel() throws Exception {
String fileName = "models.json";
Resources res = getInstrumentation().getContext().getResources();
InputStream in = res.getAssets().open(fileName);
...
}
}
不幸的是,我在尝试访问“models.json”文件时收到“没有这样的文件或目录 (2)”错误。(/assets/models.json)
当通过以下方式获取可用文件列表时
String[] list = res.getAssets().list("");
“models.json”列在那里。
我在 Android 4.2.2 api level 17 上运行这些测试。