Android
Robolectric
Zoeken…
Invoering
Bij het testen van eenheden wordt een stukje code gebruikt en onafhankelijk getest zonder dat andere afhankelijkheden of delen van het systeem worden uitgevoerd (bijvoorbeeld de database).
Robolectric is een eenheidstestraamwerk dat de Android SDK-pot ontwart, zodat u de ontwikkeling van uw Android-app kunt testen. Tests worden binnen enkele seconden in de JVM op uw werkstation uitgevoerd.
Door ze beide te kammen, kun je snelle tests uitvoeren op de JVN en nog steeds de Android API's gebruiken.
Robolectrische 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!");
}
}
Configuratie
Om robolectric te configureren, voeg @Config
annotation toe aan @Config
of methode.
Uitvoeren met aangepaste toepassingsklasse
@RunWith(RobolectricTestRunner.class)
@Config(application = MyApplication.class)
public final class MyTest {
}
Stel doel-SDK in
@RunWith(RobolectricTestRunner.class)
@Config(sdk = Build.VERSION_CODES.LOLLIPOP)
public final class MyTest {
}
Uitvoeren met aangepast manifest
Indien gespecificeerd, zal robolectric er relatief uitzien ten opzichte van de huidige map. Standaardwaarde isAndroidManifest.xml
Middelen en middelen worden ten opzichte van het manifest geladen.
@RunWith(RobolectricTestRunner.class)
@Config(manifest = "path/AndroidManifest.xml")
public final class MyTest {
}
Gebruik kwalificaties
Mogelijke kwalificaties zijn te vinden in Android-documenten .@RunWith(RobolectricTestRunner.class)
public final class MyTest {
@Config(qualifiers = "sw600dp")
public void testForTablet() {
}
}
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow