2011-12-02 59 views
3

我的項目有兩個項目:如何訪問資源,Android的單元測試?

main 
mainTest 

我在「mainTest」創造了一個「AndroidTestCase」,我試圖用的getContext()getResources()訪問我創建的資源,在「mainTest 「項目。但我發現代碼實際上是試圖獲取「主」項目中的資源。我認爲這是因爲,當我使用的getContext()它返回一個代表「主」項目的背景。但AndroidTestCase類不提供任何方法來獲取自己的資源。

P.S.我發現我可以直接使用class.getResourceAsStream()訪問原始文件,這是我想要的。但我仍然希望有更方便的方法。

回答

6

您可以從應用程序上下文,從測試的應用程序請求的資源。

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

如果我想讓包管理器本身指向測試應用程序,該怎麼辦?即,我想訪問測試應用程序的清單? –

相關問題