상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
도교의 명칭은 어떤 의미를 지니고 있나요?
도교와 과학의 관계는 어떻게 설명될 수 있나요?
장제스의 개인적 신념이 그의 정치적 선택에 미친 영향은?
장제스가 남긴 정치적 교훈은 무엇이라고 생각하나요?
장제스가 중국 역사에 미친 총체적 영향은 어떤가요?
북유럽의 유명한 관광 명소는 어디인가요?
가족력으로 인한 암 위험을 줄이기 위한 조치는 무엇인가요?
소아 비만을 예방하는 방법은 무엇인가요?
가정에서 어린이의 발달 장애를 조기에 발견하는 방법은 무엇인가요?
유대인의 종교적 신념은 무엇인가요?
유대인 언어인 이디시의 역사적 배경은 무엇인가요?
유대인의 신비주의 전통은 어떤 것들이 있나요?
Previous
Next
수정하기 - Robolectric과 Espresso의 차이는 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Robolectric과 Espresso는 안드로이드 앱 테스트를 위한 도구들이지만, 그 목적과 동작 방식, 사용 환경 등에서 차이가 큽니다. 각각을 비교하며 그 차이를 자세히 설명해드리겠습니다. 1. 테스트 환경 및 실행 위치 - Robolectric 은 JVM(자바 가상 머신) 위에서 동작하는 유닛 테스트 프레임워크입니다. 즉, 실제 디바이스나 에뮬레이터 없이 로컬 PC의 JVM상에서 안드로이드 프레임워크 코드를 흉내 내어 테스트를 실행합니다. 이 덕분에 테스트가 빠르게 실행되고, CI 환경에서도 안정적으로 돌아갑니다. - Espresso 는 실제 안드로이드 디바이스나 에뮬레이터에서 동작하는 UI 테스트 프레임워크입니다. 즉, 실제 앱이 구동되는 환경에서 사용자 인터페이스를 조작하고 결과를 검증합니다. 따라서 UI가 실제 화면에 어떻게 동작하는지를 정확하게 확인할 수 있습니다. 2. 테스트 종류 및 목적 - Robolectric 은 주로 단위 테스트(unit test)나 컴포넌트 테스트에 적합합니다. Activity, Fragment, View 등 UI 컴포넌트나 비즈니스 로직을 가볍게 실행해볼 수 있지만, 실제 UI의 렌더링이나 터치, 애니메이션 등은 완벽히 재현하지 않습니다. 주로 로직 검증, 상태 점검에 초점이 맞춰져 있습니다. - Espresso 는 인스트루먼트 테스트(instrumented test)로 분류되며, 실제 사용자와 같은 시뮬레이션을 통해 UI 동작을 검증합니다. 버튼 클릭, 텍스트 입력, 화면 전환 등 사용자의 행동과 이에 따른 앱 반응을 테스트하는 데 최적화되어 있습니다. 3. 속도 및 실행 시간 - Robolectric 은 JVM에서 바로 실행되어 디바이스나 에뮬레이터가 필요 없으므로, 테스트 실행 속도가 매우 빠릅니다. 그래서 개발 시 자주, 빠르게 테스트를 돌려보기에 적합합니다. - Espresso 는 실제 디바이스/에뮬레이터를 구동해야 하므로 테스트가 상대적으로 느립니다. 또한 기기 환경에 따라 동일한 테스트가 다르게 동작할 수 있어서 디버깅에도 시간이 더 걸릴 수 있습니다. 4. 테스트 커버리지 - Robolectric 은 안드로이드 프레임워크의 다수 클래스를 자체적으로 모킹(mocking)하거나 시뮬레이션해서 테스트하지만, 완전한 안드로이드 플랫폼 동작을 모방하기에는 한계가 있어 일부 복잡한 UI 동작이나 시스템 콜은 다루기 어렵습니다. - Espresso 는 실제 시스템 환경에서 동작하기 때문에, 화면 렌더링, 애니메이션, 복잡한 입력 처리 등 진짜 앱 환경과 거의 동일한 조건에서 테스트가 가능합니다. 그래서 UI 동작과 통합 테스트 관점에서 더 신뢰도가 높습니다. 5. 사용 편의성 및 개발 흐름 - Robolectric 은 안드로이드 스튜디오 내에서 일반 유닛 테스트처럼 실행하고, 빠른 피드백 루프를 제공하므로 개발 초반에 로직 중심 테스트를 하기 편합니다. - Espresso 는 UI 시나리오를 작성하는 데 더 많은 설정이 필요하고, 테스트 실행에 시간이 걸리므로, QA 단계나 통합 테스트 단계에서 주로 사용합니다. --- 정리하자면 , Robolectric은 “빠르고 편리한 JVM 기반 유닛 테스트”에 적합하며, 실제 안드로이드 환경이 아니라 테스트 목표인 로직 검증에 집중할 때 주로 쓰입니다. 반면 Espresso는 “실제 디바이스나 에뮬레이터에서 실행되는 UI 테스트”에 초점을 맞추어, 사용자의 인터랙션과 앱 UI 동작을 정확하게 검증하려는 경우에 가장 적합합니다. 따라서 개발 과정에서는 Robolectric으로 빠른 단위 테스트를 돌리면서, 중요한 UI 플로우는 Espresso로 실기기 혹은 에뮬레이터 위에서 검증하는 식으로 두 툴을 보완적으로 사용하는 경우가 많습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기