Szukaj…


Wprowadzenie

Testowanie jednostkowe polega na pobieraniu fragmentu kodu i testowaniu go niezależnie, bez żadnych innych zależności lub części działającego systemu (na przykład bazy danych).

Robolectric to platforma do testów jednostkowych, która dezorientuje słoik zestawu SDK systemu Android, dzięki czemu możesz testować rozwój aplikacji na Androida. Testy są uruchamiane w JVM na stacji roboczej w ciągu kilku sekund.

Ich połączenie pozwala na szybkie uruchamianie JVN przy użyciu interfejsów API Androida.

Test robolectric

@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!");
  }
}

Konfiguracja

Aby skonfigurować robolectric, dodaj adnotację @Config do klasy testowej lub metody.

Uruchom z niestandardową klasą aplikacji

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

Ustaw docelowy zestaw SDK

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

Uruchom z niestandardowym manifestem

Po określeniu robolectric będzie wyglądał względnie w stosunku do bieżącego katalogu. Wartość domyślna to AndroidManifest.xml

Zasoby i zasoby zostaną załadowane względem manifestu.

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

Użyj kwalifikatorów

Możliwe kwalifikatory można znaleźć w dokumentach Androida .

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

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow