2011-12-02 4 views
3

내 프로젝트는 두 개의 프로젝트가 있습니다.Android Unittest에서 리소스에 액세스하는 방법?

main 
mainTest 

내가 "mainTest"에서 "AndroidTestCase"를 만들어 내가 는 getContext()를 사용하려고 노력을의 GetResources()은 "mainTest에 내가 만든 리소스에 액세스하기 "프로젝트. 그러나 코드가 실제로 "기본"프로젝트에서 리소스를 얻으려고하고 있음을 발견했습니다. 나는 그것이 getContext()을 사용할 때 "main"프로젝트를 나타내는 문맥을 반환하기 때문이라고 생각한다. 그러나 AndroidTestCase 클래스는 자체 리소스를 가져 오는 메소드를 제공하지 않습니다.

P. 나는 class.getResourceAsStream()을 직접 사용하여 원시 파일에 액세스 할 수 있음을 발견했다. 그러나 아직도 나는 더 편리한 방법이 있기를 바랍니다.

답변

6

응용 프로그램 Context에서 테스트 응용 프로그램의 자원을 요청할 수 있습니다.

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

패키지 관리자가 테스트 응용 프로그램을 가리키고 싶다면 어떻게해야합니까? 즉, 테스트 앱의 매니페스트에 액세스하고 싶습니다. –

관련 문제