2

현재 APK로 에스프레소 테스트를 추가하려고합니다. 우리의 경우 우리는 이 실제로이 출시 될 때 테스트해야하므로 UI ​​테스트가 릴리스에 포함되어야합니다.에스프레소 UI 테스트를 릴리스로 컴파일하려면 어떻게해야합니까?

내 기본 질문은 다음과 같습니다. 인터넷에 대한 연구 결과 지금까지 아무런 결과도 얻지 못했습니다.

compile 'com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
} 

또한 여기 :

compile 'com.android.support.test.espresso:espresso-contrib:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
    exclude group: 'com.android.support', module: 'support-v4' 
    exclude group: 'com.android.support', module: 'design' 
    exclude group: 'com.android.support', module: 'recyclerview-v7' 
} 

하지만을 나는이 오류 메시지가

./gradlew assembleRelease --info --debug 

를 호출 한 후

는 이미 compile에 빌드 스크립트에서 androidDebugTest을 변경 시도 :

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':app:transformClassesWithJarMergingForRelease'. 
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: javax/annotation/Generated.class 
... 
BUILD FAILED 

일반적으로 에스프레소에는 두 개의 그라프 작업 (assembleDebugassembleDebugAndroidTest)이 사용됩니다. 그러나 assembleReleaseAndroidTest 작업이 없으므로 릴리스 빌드로 무엇을하고 있습니까?

미리 조언 해 주셔서 감사합니다.

+0

확인 : http://stackoverflow.com/questions/29915107/dagger2-androidtest-error-duplicate-entry-javax-annotation-generated-class – piotrek1543

+1

@ piotrek1543 나는 버전 2.14.1에서 gradlew를 사용하므로 언급 한 질문은 여기에 적용되지 않습니다. – nepa

+0

Part1. 계측 테스트 실행을 위해 두 개의 애플리케이션이 생성됩니다. 테스트중인 애플리케이션 (기본적으로 앱입니다). 그리고 테스트가 포함 된 별도의 응용 프로그램. 나는 "테스트를 앱에 포함"하는 것이 불가능하다고 말하고 싶습니다. 자세한 내용은 https://developer.android.com/studio/test/command-line.html "ADB로 테스트 실행"을 참조하십시오. 2 부. 릴리스 앱을 컴파일하고 ADB를 통해 테스트를 시작하십시오. 작동 여부는 확실하지 않습니다. 아마 에스프레소는 디버그 버전이 필요합니다. Part2는 추측에 불과합니다. – MyDogTom

답변

3

테스트를 앱 APK로 컴파일 할 수는 없지만 릴리스 빌드 유형을 테스트 할 수는 있습니다. 귀하의 경우 릴리스 아티팩트는 두 개의 APK, 일반 앱 APK 및 테스트 APK로 구성됩니다. https://stackoverflow.com/a/18064368/1231827을 참조하십시오.

+0

내 편견에 대한 오해를 해결해 주셔서 감사합니다. 솔루션은 테스트 빌드 유형을 릴리스로 변경하는 것입니다. 그저 단순한 ... – nepa

관련 문제