얼마 전에 CI가 빨간불이라 로그를 한참 뒤졌는데요. 코드는 멀쩡했어요. 범인은 부팅 도중에 뻗어버린 에뮬레이터였습니다. 그날 저녁에 바로 로볼렉트릭(Robolectric)을 붙였습니다. 에뮬레이터 부팅 대기 없이 화면 로직을 검증하는 방법을, 제가 직접 잰 수치랑 같이 정리해봤어요. 원리부터 세팅, 그리고 안 되는 경계선까지 순서대로 가보겠습니다. 에뮬레이터 없이 안드로이드 UI 테스트가 답답하던 자리기존 계측 테스트(instrumented test)의 진짜 고통은 속도가 아니었어요. 실패했을 때 원인이 코드인지 에뮬레이터 부팅 실패인지 구분이 안 된다는 점이었습니다. 그래서 그냥 재실행만 반복하게 되더라고요. 로볼렉트릭은 구글이 유지보수하는 오픈소스인데요. 에뮬레이터나 실기기 없이 JVM 위에서 흉내..