Question

Je suis nouveau à Android et j'ai vu un exemple de code utilisant ces annotations. Par exemple:

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

Qu'est-ce que l'annotation accomplir?

Était-ce utile?

La solution

Ce blog explique le mieux. En fait, il est le suivant:

 test graphique

  1. Petit:. Ce test ne interagit pas avec tout système de fichiers ou d'un réseau
  2. Moyen:. Accède systèmes de fichiers sur la boîte qui est en cours d'exécution des tests
  3. Large:. Accède systèmes de fichiers externes, réseaux, etc

Par développeurs Android le blog , un petit test devrait prendre <100 ms, un test moyen <2s, et un grand test <120s.

Voir cette page (recherche de "@SmallTest") sur comment spécifier les tests pour la course.

Autres conseils

En complément réponse de Davidann et surtout question OP dans le commentaire:

  

Dans le contexte du code ci-dessus, est-ce vraiment DO tout sauf laisser une note pour d'autres développeurs? Est-il rien faire respecter? Y a-t-il des outils qui utilise cette annotation? Quelle est son but dans le développement Android?

Vous pouvez exécuter un groupe de tests portant l'annotation spécifique.

De AndroidJUnitRunner documentation :

  

Exécution d'une taille de test spécifique à-dire annotés avec SmallTest ou MediumTest ou LargeTest :

     

Taille -e -w adb instrument am shell [petite | moyenne | grande] com.android.foo/android.support.test.runner.AndroidJUnitRunner

Vous pouvez également configurer les params par gradle:


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

Voir ce blog pour plus de détails.

Vous pouvez aussi annoter tests unitaires POJO avec @Category(MediumTest.class) ou @Category(LargeTest.class), etc. en définissant votre propre Catégories - voir le test-catégories de repo pour un exemple

scroll top