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 is AndroidManifest.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