Android Instrumentation Test获取资源文件句柄

时间:2017-07-14 14:22:08

标签: android unit-testing junit android-instrumentation

为了测试我的一个实现,我需要一个有效且正确初始化的File-Object,它指向一个图像文件。

我尝试过以下方法:

  • 将图像放入名为cat.jpeg
  • 的androidTest / ressources-Folder中
  • 尝试按以下方式创建文件句柄:new File(InstrumentationRegistry.getContext().getClassLoader().getResource(“cat.jpg”).getPath())

在初始化文件上调用exists()时,它总是返回false。

如何设置测试/初始化文件以使其正常工作?

1 个答案:

答案 0 :(得分:0)

一种选择是将所有测试资源放在androidTest/assets中。通过从测试包的上下文中获取AssetManager,您可以将资产作为文件名列表(AssetManager.list(String path))获取。对于每个资产,使用InputStream打开AssetManager.open(String filename)并创建一个您将资产写入的临时文件。