Primeros pasos con las pruebas de Android

Tipos de prueba

Las pruebas de Android se basan en JUnit y puede ejecutarlas como pruebas de unidades locales en la JVM o como pruebas instrumentadas en un dispositivo Android. Esta página proporciona una introducción a los conceptos y herramientas para crear pruebas de Android.

  • Pruebas de unidades locales (ubicadas en module-name/src/test/java/)
  • Pruebas instrumentadas (ubicadas en module-name/src/androidTest/java/)

Pruebas de unidad local JUnit

public class MainActivityInstrumentationTest {

    public ActivityTestRule mActivityRule = new ActivityTestRule<>(

    public void sayHello(){
        onView(withText("Say hello!")).perform(click());

        onView(withId("Hello, World!")));

Pruebas instrumentadas Ejemplo dependencias { androidTestCompile ‘’ androidTestCompile ‘🏃‍♂️0.5’ androidTestCompile ‘’ // Optional – Hamcrest library androidTestCompile ‘org.hamcrest:hamcrest-library:1.3’ // Optional – UI testing with Espresso androidTestCompile ‘’ // Optional – UI testing with UI Automator androidTestCompile ‘’ }

androide { defaultConfig { testInstrumentationRunner “” } }

Clase de prueba unitaria instrumentada

import android.os.Parcel;
import android.util.Pair;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.List;
import static;
import static org.junit.Assert.assertThat;

public class LogHistoryAndroidUnitTest {

    public static final String TEST_STRING = "This is a string";
    public static final long TEST_LONG = 12345678L;
    private LogHistory mLogHistory;

    public void createLogHistory() {
        mLogHistory = new LogHistory();

    public void logHistory_ParcelableWriteRead() {
        // Set up the Parcelable object to send and receive.
        mLogHistory.addEntry(TEST_STRING, TEST_LONG);

        // Write the data.
        Parcel parcel = Parcel.obtain();
        mLogHistory.writeToParcel(parcel, mLogHistory.describeContents());

        // After you're done with writing, you need to reset the parcel for reading.

        // Read the data.
        LogHistory createdFromParcel = LogHistory.CREATOR.createFromParcel(parcel);
        List<Pair<String, Long>> createdFromParcelData = createdFromParcel.getData();

        // Verify that the received data is correct.
        assertThat(createdFromParcelData.size(), is(1));
        assertThat(createdFromParcelData.get(0).first, is(TEST_STRING));
        assertThat(createdFromParcelData.get(0).second, is(TEST_LONG));