如何访问Android Unit Test中的资源?

时间:2011-12-02 09:00:58

标签: android unit-testing

我的项目有两个项目:

main
mainTest

我在“mainTest”中创建了一个“AndroidTestCase”,我尝试使用 getContext()。getResources()来访问我在“mainTest”项目中创建的资源。但我发现代码实际上是在尝试获取“主要”项目中的资源。我认为这是因为当我使用 getContext()时,它返回一个表示“main”项目的上下文。但是 AndroidTestCase 类没有提供任何方法来获取自己的资源。

P.S。我发现我可以直接使用 class.getResourceAsStream()来访问原始文件,这就是我想要的。但我仍然希望有更方便的方法。

1 个答案:

答案 0 :(得分:6)

您可以从应用程序上下文中请求测试应用程序中的资源。

protected Resources getResources(String packageName) throws NameNotFoundException {
    PackageManager pm = getContext().getPackageManager();
    return pm.getResourcesForApplication(packageName);
}