해결된 질문
작성
·
176
0
테스트 강의를 듣던 중 선생님과 달리 작동되는 부분이 있어 질문드립니다
테스트 2강 관련질문입니다.
androidx.text:runner:1.4.0을 강의와 같이 testImplementation으로 감싸서 의존성을 추가할경우 @SmallTest annotation이 정상적으로 import되지않고 그냥 implementation으로 감싸서 의존성을 추가해야 정상적으로 import처리되고 테스트도 성공적으로 수행이 되던데 testImplementation과 implementation의 차이가 궁금합니다... 왜 강의와 다르게 의존성을 추가해야 정상 작동되는지 이유를 모르겠습니다.
m1 으로 코드를 작성하고 있습니다
답변 2
1
의존성이 꼬여있었던것같습니다 말씀주신대로 캐시삭제 후 다시 켜서 의존성 똑같이 맞춰주고 오타없는 것 확인하고 테스트하니 성공하였습니다! 감사합니다! 여담으로 androidTestImplementation("androidx.text.ext:truth~") 를 android.text:ext:truth로 잘못타이핑하고 sync 맞춰주고 계속 왜 테스트 실패하고 assert import가 자동 import가 안되지 하는데 잘못타이핑을 했는데 sync가 되어서 못찾았엇네요.. 보통 sync 에서 터졌어야할 오류같은데 테스트 쪽은 참 낯서네요;;
kts 를 적용해서 그런가 그래들에 의존성 추가시 오타가 존재하여도 경고에 해당 의존성을 찾을 수 없다라는 경고는 뜨는데 sync시에 빌드자체는 성공이라고 뜨는.. 컴파일시 터져줘야 개발하는 입장에선 더 좋을거같은데 해당 이슈에 대해 한번 알아보도록 해보겠습니다! 감사합니다
1
implementation : 라이브러리를 프로덕션, 로컬 테스트, 계측 테스트에서 모두 사용가능
testImplementation : 로컬 테스트에만 적용
androidTestImplementation : 계측 테스트에만 적용
분류는 위와 같습니다. 혹시 테스트 코드를 프로덕션 빌드에서 만드신게 아닌지요? 그게 아니라면 뭔가 그래들에서 의존성이 꼬인 것 같습니다. 아니면 메뉴에서 Invalidate cache and Restart를 하고 다시 임포트 해 보시면 해결 될 수도 있습니다.
해결되어서 다행입니다. android.test로 써도 그래들이 안터졌다는건 신기하네요 :-o