getResourceName()返回错误的名称

时间:2012-10-16 19:07:51

标签: android junit

我正在尝试为Android库运行JUnit测试。所以我在Eclipse中创建了一个新的Android应用程序项目,但没有任何活动。然后我更改了AndroidManifest.xml,以便它使用“android.test.InstrumentationTestRunner”的工具,并且还添加了

<uses-library android:name="android.test.runner" />

接下来,我将我的Android库添加到项目属性中的库引用。

我的问题是我想使用测试项目中的资源来驱动库的测试。例如,我在测试项目的res / raw文件夹中添加了一个“hello_world”文本文件。

此资源现在显示在R.raw.hello_world

问题在于,当我调用context.getResources()。getResourceName(R.raw.hello_world)时,它返回了错误的名称。这是我正在尝试测试的库中资源的名称。

在运行测试时,似乎缺少测试项目中的资源。

1 个答案:

答案 0 :(得分:1)

问题在于使用了错误的上下文。

我使用的是AndroidTestCase类和getContext()方法,但该上下文不包含随测试打包的资源。因此,将类更改为InstrumentationTestCase并使用getInstrumentation()。getContext()解决了问题。