1

我正在尝试为 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) 它返回错误的名称。这是我要测试的库中资源的名称。

运行测试时,我的测试项目中的资源似乎丢失了。

4

1 回答 1

1

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

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

于 2012-10-16T21:11:22.723 回答