我的项目有两个项目:
main
mainTest
我在“mainTest”中创建了一个“AndroidTestCase”,我尝试使用 getContext()。getResources()来访问我在“mainTest”项目中创建的资源。但我发现代码实际上是在尝试获取“主要”项目中的资源。我认为这是因为当我使用 getContext()时,它返回一个表示“main”项目的上下文。但是 AndroidTestCase 类没有提供任何方法来获取自己的资源。
P.S。我发现我可以直接使用 class.getResourceAsStream()来访问原始文件,这就是我想要的。但我仍然希望有更方便的方法。
答案 0 :(得分:6)
您可以从应用程序上下文中请求测试应用程序中的资源。
protected Resources getResources(String packageName) throws NameNotFoundException {
PackageManager pm = getContext().getPackageManager();
return pm.getResourcesForApplication(packageName);
}