2012-10-16 5 views
1

Android 라이브러리 용 JUnit 테스트를 실행하려고합니다. 그래서 이클립스에서 새로운 안드로이드 애플리케이션 프로젝트를 만들었지 만 어떤 활동도 없었다. 그것은 "android.test.InstrumentationTestRunner"의 장비를 사용하도록 I는 다음의 AndroidManifest.xml을 변경하고, 또한 내가 프로젝트 속성에서 라이브러리 참조 내 안드로이드 라이브러리를 추가, 다음 getResourceName()이 잘못된 이름을 반환합니다.

<uses-library android:name="android.test.runner" /> 

을 추가했다.

제 문제는 테스트 프로젝트의 리소스를 사용하여 라이브러리에서 테스트를 수행하고 싶습니다. 예를 들어, "hello_world"텍스트 파일을 테스트 프로젝트의 res/raw 폴더에 추가했습니다.

이 자원은 이제 문제는 내가 context.getResources(). getResourceName (R.raw.hello_world)를 호출 할 때 잘못된 이름을 반환하는 점이다 R.raw.hello_world

에 나타납니다. 라이브러리에서 테스트하려는 리소스의 이름입니다.

테스트를 실행할 때 내 테스트 프로젝트의 리소스가 누락 된 것처럼 보입니다.

답변

1

문제가 잘못된 컨텍스트를 사용하고있었습니다.

AndroidTestCase 클래스와 getContext() 메소드를 사용하고 있었지만 해당 컨텍스트에 테스트 패키지에 포함 된 리소스가 없습니다. 따라서 클래스를 InstrumentationTestCase로 변경하고 getInstrumentation(). getContext()를 사용하여 문제를 해결했습니다.

관련 문제