안드로이드 스튜디오와 robolectric 설정

robolectric는, 그대로 android studio에서 잘 움직이지 않기 때문에, 플러그인 Android Studio Unit Test 를 이용한다.

설정



1. 프로젝트 디렉토리 바로 아래의 build.gradle에 다음을 추가
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.14.2'
        classpath 'com.github.jcandksolutions.gradle:android-unit-test:2.1.1'
    }
}
allprojects {
    repositories {
        jcenter()
    }
}

2.app 디렉토리 아래 build.gradle에 다음을 추가
apply plugin: 'com.android.application'

android {...}

apply plugin: 'android-unit-test'

dependencies {
    // testing
    testCompile 'org.robolectric:robolectric:2.4'
    testCompile 'junit:junit:4.+'
}

3. 플러그인 추가
android studio -> preference -> plugins -> browse repository를 열고 'Android Studio Unit Test'를 찾아 설치

4.androidTest 디렉토리의 이름을 test로 변경

5.app 디렉토리 아래의 build.gradle 파일에 afterEvaluate 추가
apply plugin: 'com.android.application'

android {...}

apply plugin: 'android-unit-test'

afterEvaluate {
    tasks.findByName("assembleDebug").dependsOn("testDebugClasses")
}

dependencies {...}

테스트 실행



  • 테스트 실행을 설정합니다.
  • Run -> Edit Configuration -> + -> jUnit 를 선택합니다
  • 임의의 이름을 붙인다
  • Test Kind에서 All in package 선택
  • use classpath of mod..에서 앱을 선택
  • apply 클릭




  • Robolectric에게 매니페스트 파일의 위치를 ​​알려줍니다.
  • @RunWith(RobolectricTestRunner.class)
    @Config(manifest="./src/main/AndroidManifest.xml")
    public class MyActivityTest {
        ...
    }
    
  • 테스트를 실행한다.
  • 실행 버튼 (재생 마크) 옆에서 1.로 설정된 이름을 선택합니다
  • 실행 버튼을 클릭합니다.


  • 좋은 웹페이지 즐겨찾기