Android
Robolectric
Sök…
Introduktion
Enhetstestning tar en kodkod och testar den oberoende utan andra beroenden eller delar av systemet som körs (till exempel databasen).
Robolectric är ett enhetstestramverk som avaktiverar Android SDK-burken så att du kan provköra utvecklingen av din Android-app. Test körs inom JVM på din arbetsstation på några sekunder.
Genom att kombinera dem båda kan du köra snabbtest på JVN som fortfarande använder Android API: er.
Robolektriskt 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!");
}
}
Konfiguration
För att konfigurera robolectric lägg till @Config
kommentar till @Config
eller metod.
Kör med anpassad applikationsklass
@RunWith(RobolectricTestRunner.class)
@Config(application = MyApplication.class)
public final class MyTest {
}
Ställ in mål-SDK
@RunWith(RobolectricTestRunner.class)
@Config(sdk = Build.VERSION_CODES.LOLLIPOP)
public final class MyTest {
}
Kör med anpassat manifest
När det anges ser robolectric ut relativt till den aktuella katalogen. Standardvärdet ärAndroidManifest.xml
Resurser och tillgångar kommer att laddas relativt manifestet.
@RunWith(RobolectricTestRunner.class)
@Config(manifest = "path/AndroidManifest.xml")
public final class MyTest {
}
Använd kval
Möjliga kval kan hittas i androiddokument .@RunWith(RobolectricTestRunner.class)
public final class MyTest {
@Config(qualifiers = "sw600dp")
public void testForTablet() {
}
}
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow