수색…


소개

단위 테스트는 다른 의존성이나 시스템 실행 부분 (예 : 데이터베이스)없이 코드 조각을 취하여 독립적으로 테스트합니다.

Robolectric은 안드로이드 SDK jar 파일을 제거하여 안드로이드 앱의 개발을 테스트 할 수있는 단위 테스트 프레임 워크입니다. 테스트는 워크 스테이션의 JVM 내부에서 몇 초 안에 실행됩니다.

둘을 섞어 사용하면 Android API를 사용하여 JVN에 대한 빠른 테스트를 실행할 수 있습니다.

로보 일렉트릭 시험

@RunWith(RobolectricTestRunner.class)
public class MyActivityTest {

  @Test
  public void clickingButton_shouldChangeResultsViewText() throws Exception {
    MyActivity activity = Robolectric.setupActivity(MyActivity.class);

    Button button = (Button) activity.findViewById(R.id.button);
    TextView results = (TextView) activity.findViewById(R.id.results);

    button.performClick();
    assertThat(results.getText().toString()).isEqualTo("Robolectric Rocks!");
  }
}

구성

robolectric를 구성하려면 @Config 주석을 추가하여 클래스 또는 메소드를 테스트하십시오.

사용자 정의 응용 프로그램 클래스로 실행

@RunWith(RobolectricTestRunner.class)
@Config(application = MyApplication.class)
public final class MyTest {
}

대상 SDK 설정

@RunWith(RobolectricTestRunner.class)
@Config(sdk = Build.VERSION_CODES.LOLLIPOP)
public final class MyTest {
}

사용자 지정 매니페스트로 실행

지정한 경우 robolectric는 현재 디렉토리를 기준으로 표시됩니다. 기본값은 AndroidManifest.xml

자원 및 자산은 매니페스트와 관련하여로드됩니다.

@RunWith(RobolectricTestRunner.class)
@Config(manifest = "path/AndroidManifest.xml")
public final class MyTest {
}

한정어 사용

가능한 한정어는 안드로이드 문서 에서 찾을 수 있습니다.

@RunWith(RobolectricTestRunner.class)
public final class MyTest {

    @Config(qualifiers = "sw600dp")
    public void testForTablet() {
    }
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow