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 är AndroidManifest.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