Поиск…


Вступление

Единичное тестирование выполняет часть кода и тестирует его независимо от каких-либо других зависимостей или частей системы (например, базы данных).

Robolectric - это единая тестовая платформа, которая де-фангирует Android SDK, чтобы вы могли тестировать разработку своего приложения для Android. Тесты запускаются внутри JVM на рабочей станции за считанные секунды.

С их помощью вы можете быстро запускать тесты на JVN, все еще используя API Android.

Robolectric test

@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 add @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 {
}

Использовать квалификаторы

Возможные квалификаторы можно найти в документах android .

@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