我正在尝试为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)时,它返回了错误的名称。这是我正在尝试测试的库中资源的名称。
在运行测试时,似乎缺少测试项目中的资源。
答案 0 :(得分:1)
问题在于使用了错误的上下文。
我使用的是AndroidTestCase类和getContext()方法,但该上下文不包含随测试打包的资源。因此,将类更改为InstrumentationTestCase并使用getInstrumentation()。getContext()解决了问题。