상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
냄비에 가장 잘 어울리는 조리 방식은?
냄비의 잠재적인 위험 요소는?
연마재의 사용이 필요한 특정 산업의 예시는 무엇인가요?
60대 재혼 후 외로움을 극복하는 방법은 무엇인가요?
오이의 알레르기가 있을 수 있나요?
50대 재혼에서 서로의 과거를 어떻게 다룰까요?
프랑스 파리 메트로와 도시 대중교통 간의 상호작용은?
프랑스 파리 메트로에서의 버스 및 트램 연결 방안은?
눈썹을 기를 때 발생할 수 있는 문제는 무엇인가요?
눈썹을 안전하게 제거하는 방법은?
바세린을 메이크업 전에 바르면 효과가 있나요?
바세린이 피부 노화에 미치는 영향은?
Previous
Next
수정하기 - Robolectric을 사용하는 데 필요한 설정은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Robolectric은 Android <a href='https://sangseek.com/sangseeks/유닛 테스트/ko'>유닛 테스트</a>를 JVM 환경에서 실행할 수 있도록 해 주는 프레임워크로, 실제 디바이스나 에뮬레이터 없이도 안드로이드 컴포넌트들을 테스트할 수 있게 도와줍니다. Robolectric을 사용하는 데 필요한 기본적인 설정 과정을 자세히 설명드리겠습니다. 1. 프로젝트 Gradle 설정 먼저 Robolectric을 사용하려면, 테스트 환경을 구성하기 위해 build.gradle (모듈 단위, 보통 app/build.gradle) 파일에서 종속성을 추가해야 합니다. - <a href='https://sangseek.com/sangseeks/testImplementation/ko'>testImplementation</a>으로 Robolectric 라이브러리를 추가하세요. 보통 다음과 같이 작성합니다: ```gradle dependencies { // Robolectric 코어 라이브러리 testImplementation 'org.robolectric:robolectric:4.10.3' // 안정적인 최신 버전을 사용하세요 // JUnit 테스트 프레임워크도 필요합니다 testImplementation 'junit:junit:4.13.2' } ``` 버전은 Robolectric 공식 릴리즈를 확인하여 최신 안정 버전을 사용하시기 바랍니다. 2. 테스트 소스셋 위치 확인 Android Studio에서 기본적으로 JVM 단위 테스트는 `src/test/java` 경로에 있고, 디바이스나 에뮬레이터에서 돌리는 Instrumented Test는 `src/androidTest/java`에 위치합니다. Robolectric은 JVM 환경에서 돌아가므로, 테스트 코드는 `src/test/java`에 작성하는 것이 맞습니다. 3. AndroidManifest.xml 관련 설정 Robolectric은 AndroidManifest.xml과 리소스를 참조하므로, 기본적으로는 `src/main/AndroidManifest.xml` 파일을 참고합니다. 혹시 여러 flavor나 빌드 변형이 있다면, manifest 경로나 리소스 경로를 명시적으로 지정할 수 있습니다. 필요하다면 Robolectric의 `@Config(manifest=...)` 애노테이션을 사용해서 커스텀 위치를 지정할 수 있습니다. 4. 테스트 클래스 작성 및 어노테이션 추가 Robolectric 테스트 클래스는 일반적인 JUnit4 스타일로 작성됩니다. 다음과 같은 설정을 합니다. - 테스트 클래스를 `@RunWith(RobolectricTestRunner.class)`로 지정합니다. 예를 들어, ```java @RunWith(RobolectricTestRunner.class) public class MyActivityTest { @Test public void testSomething() { // 테스트할 코드 작성 } } ``` 5. JVM 타겟 설정 (필요한 경우) Robolectric은 JVM 상에서 돌아가기 때문에, Java 8 이상의 기능을 사용하려면 build.gradle에 다음과 같이 설정할 수 있습니다. ```gradle android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } ``` 6. Gradle 테스트 실행 환경 Robolectric 테스트는 JVM 단위 테스트이므로, Android Studio에서 그냥 Run 하면 되고, 커맨드 라인에서 `./gradlew testDebugUnitTest` 등으로 실행할 수 있습니다. 7. Android SDK 버전 호환 Robolectric은 특정 Android SDK 버전과 호환되므로, 테스트 환경에 맞는 SDK 버전을 지정하고, `@Config` 애노테이션에서 `sdk` 값을 맞춰 줄 수 있습니다. 예를 들어, ```java @Config(sdk = Build.VERSION_CODES.P) ``` 8. Proguard 및 멀티덱스 이슈 기본적인 테스트에는 크게 영향이 없으나, 복잡한 설정 시 Proguard와 멀티덱스 관련 설정을 주의하세요. 테스트 빌드에선 일반적으로 멀티덱스나 난독화가 적용되지 않습니다. 요약하면, Robolectric을 사용하기 위한 기본 설정은 다음과 같습니다: - `build.gradle`에 `testImplementation 'org.robolectric:robolectric:버전'` 추가 - 테스트 코드를 `src/test/java`에 작성 - 테스트 클래스에 `@RunWith(RobolectricTestRunner.class)` 지정 - 필요 시 `@Config`로 매니페스트, SDK 버전 지정 - Android 스튜디오나 Gradle에서 JVM 단위 테스트 형태로 실행 이 정도 설정만 해 두면, 에뮬레이터 없이 빠른 단위 테스트를 Robolectric으로 진행할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기