인프런 커뮤니티 질문&답변

JI HUN LEE님의 프로필 이미지
JI HUN LEE

작성한 질문수

냉동코더의 알기 쉬운 Modern Android Development 입문

PracticeA2-Instrumented Unit Test 맛보기 (Runner, Roboletric, runTest, TestSuite)

test:runner 의존성 질문

해결된 질문

작성

·

182

0

테스트 강의를 듣던 중 선생님과 달리 작동되는 부분이 있어 질문드립니다 

테스트 2강 관련질문입니다.

androidx.text:runner:1.4.0을 강의와 같이 testImplementation으로 감싸서 의존성을 추가할경우 @SmallTest annotation이 정상적으로 import되지않고 그냥 implementation으로 감싸서 의존성을 추가해야 정상적으로 import처리되고 테스트도 성공적으로 수행이 되던데 testImplementation과 implementation의 차이가 궁금합니다... 왜 강의와 다르게 의존성을 추가해야 정상 작동되는지 이유를 모르겠습니다.

m1 으로 코드를 작성하고 있습니다 

답변 2

1

JI HUN LEE님의 프로필 이미지
JI HUN LEE
질문자

의존성이 꼬여있었던것같습니다 말씀주신대로 캐시삭제 후 다시 켜서 의존성 똑같이 맞춰주고 오타없는 것 확인하고 테스트하니 성공하였습니다! 감사합니다! 여담으로 androidTestImplementation("androidx.text.ext:truth~") 를 android.text:ext:truth로 잘못타이핑하고 sync 맞춰주고 계속 왜 테스트 실패하고 assert import가 자동 import가 안되지 하는데 잘못타이핑을 했는데 sync가 되어서 못찾았엇네요.. 보통 sync 에서 터졌어야할 오류같은데 테스트 쪽은 참 낯서네요;;

냉동코더님의 프로필 이미지
냉동코더
지식공유자

 해결되어서 다행입니다. android.test로 써도 그래들이 안터졌다는건 신기하네요 :-o

JI HUN LEE님의 프로필 이미지
JI HUN LEE
질문자

kts 를 적용해서 그런가 그래들에 의존성 추가시 오타가 존재하여도 경고에 해당 의존성을 찾을 수 없다라는 경고는 뜨는데 sync시에 빌드자체는 성공이라고 뜨는.. 컴파일시 터져줘야 개발하는 입장에선 더 좋을거같은데 해당 이슈에 대해 한번 알아보도록 해보겠습니다! 감사합니다

1

냉동코더님의 프로필 이미지
냉동코더
지식공유자

implementation : 라이브러리를 프로덕션, 로컬 테스트, 계측 테스트에서 모두 사용가능

testImplementation : 로컬 테스트에만 적용

androidTestImplementation : 계측 테스트에만 적용

분류는 위와 같습니다. 혹시 테스트 코드를 프로덕션 빌드에서 만드신게 아닌지요? 그게 아니라면 뭔가 그래들에서 의존성이 꼬인 것 같습니다. 아니면 메뉴에서 Invalidate cache and Restart를 하고 다시 임포트 해 보시면 해결 될 수도 있습니다.

JI HUN LEE님의 프로필 이미지
JI HUN LEE

작성한 질문수

질문하기