Domanda

Sono nuovo di Android e ho visto esempio di codice utilizzando queste annotazioni. Ad esempio:

@SmallTest
public void testStuff() {
    TouchUtils.tapView(this, anEditTextView);
    sendKeys("H E L P SPACE M E PERIOD");
    assertEquals("help me.", anEditTextView.getText().toString());
}

Che cosa significa che l'annotazione realizzare?

È stato utile?

Soluzione

Questo post del blog lo spiega meglio. In sostanza, è il seguente:

 test chart

  1. Piccolo:. Questo test non interagisce con qualsiasi file system o di rete
  2. Medio:. Gli accessi ai file su sistemi scatola che esegue i test
  3. Grande:. Accede file system esterni, reti, ecc

Per la Sviluppatori Android blog , un piccolo test dovrebbe prendere <100 ms, un Test Medium <2s, e una grande prova <120s.

questa pagina (cercare "@SmallTest") su come specificare che i test vengono eseguiti.

Altri suggerimenti

In aggiunta a risposta di Davidann e, soprattutto, di OP domanda nel commento:

  

Nel contesto del codice di cui sopra, lo fa in realtà DO nulla, tranne lasciare un biglietto per gli altri sviluppatori? Ha rispettare qualcosa? Ci sono strumenti che utilizza questa annotazione? Qual è lo scopo di in fase di sviluppo di Android?

È possibile eseguire un gruppo di prove annotate con specifica annotazione.

AndroidJUnitRunner documentazione :

  

Esecuzione di un formato prova specifica cioè Annotated con SmallTest o MediumTest o LargeTest :

     

adb shell pm strumento -w dimensioni -e [piccole | media | grande] com.android.foo/android.support.test.runner.AndroidJUnitRunner

Si può anche impostare i params attraverso Gradle:


    android {
        ...
        defaultConfig {
            ...
            testInstrumentationRunnerArgument 'size', 'Large'
        }
    }

questo post del blog per maggiori dettagli.

È possibile test di unità POJO anche annotare con @Category(MediumTest.class) o @Category(LargeTest.class), ecc definendo il proprio categorie - vedere la test-categorie repo per un esempio

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top