Android 애플리케이션에서 구성 요소에 대한 테스트를 작성하고 있습니다. 이 구성 요소는 활동을 사용하여 일부 보고서를 작성합니다. 그래서 구성 요소 (못생긴 아키텍처)를 테스트하기 위해 액티비티가 필요하며 테스트 프로젝트 내에서 더미 액티비티를 만들고 ActivityInstrumentationTestCase2<TestActivity>
에서 상속 된 테스트를 만드는 것이 쉽지만 어떤 이유로 나는 항상 java.lang.RuntimeException: Unable to resolve activity for: Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=com.xxx/.Testctivity }
예외를 얻습니다.Android 테스트 프로젝트에서 Activity를 정의하고 테스트를 실행할 수 있습니까?
테스트 활동이 매니페스트 파일에 추가되고 패키지가 올바르게 설정되어있는 것으로 보입니다.
저는 그것을 행운과 함께 com.xxx (애플리케이션 패키지)와 com.xxx.test 패키지에 넣으려고했습니다. 하지만 TestActivity를 대상 응용 프로그램으로 이동하면 모든 것이 잘 동작합니다. 그래서 나는 테스트 프로젝트와 내 애플리케이션의 차이점을 궁금해하기 시작했으며 테스트 프로젝트 내부에서 활동하는 것이 가능할 수도 있습니다.
targetPackage를 self로 변경하면 , InstrumentationTestRunner.onCreate에서 NoSuchMethodException로 실패하기 시작합니다. – basin
이 방법에 문제가있었습니다. 나는/manifest/@ 패키지가/manifest/instrumentation/@ android : targetPackage와 동일하다면 테스트가 테스트중인 애플리케이션을 효과적으로 대체 할 것이므로 클래스를 참조 할 수 없다고 생각한다. 나는 ClassNotFoundExceptions를 얻고 있었다. –
androidTest 디렉토리에 AndroidManifest.xml을 추가하여이 접근 방식을 사용할 수 있습니다. 하지만 안드로이드 스튜디오의 최신 버전에서는 2.3.1 버전부터 지금 사용하고 있습니다.''요소는 필요하지 않습니다. –