我需要测试一个自定义适配器,它使用TypedArray来创建数据。我想为它编写一个仪器测试(即AndroidTestCase),当然需要它自己的测试资源。
使用以下结构设置instrumentTest子文件夹后:
/ instrumentTest
- src
/ res
- drawable
- layout
# layouts for the tests
- values
# resource values where the TypedArray exists
最初Android Studio(IntelliJ IDEA 13)无法识别R引用(在PACKAGE_NAME.test.R
下,但在我运行assembleTest
后,它们会被识别出来。当我执行connectedInstrumentTest
由于此错误,测试失败:
android.content.res.Resources$NotFoundException: Array resource ID #0x7f040000
at android.content.res.Resources.obtainTypedArray(Resources.java:509)
它失败的资源位于PACKAGE_NAME.test.R
下。
帮助?
答案 0 :(得分:0)
问题出在AndroidTestCase
。它提供的上下文似乎并不实际可用。更改为InstrumentationTestCase
并从
getInstrumentation().getContext().getResources()
似乎工作正常。