Android
Robolectric
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 toAndroidManifest.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