2011-01-12 2 views

Répondre

106

This blog post l'explique le mieux. En fait, il est le suivant:

testing chart

  1. Petit: ce test n'interagit pas avec tout système de fichiers ou d'un réseau.
  2. Moyenne: accède aux systèmes de fichiers sur la boîte qui exécute les tests.
  3. Large: Accède systèmes de fichiers externes, réseaux, etc.

par le Android Developers blog, un petit test devrait prendre < 100ms, un test moyen < 2s, et un grand test de < 120s.

Voir this page (recherchez "@SmallTest") pour savoir quels tests doivent être exécutés.

+7

Je vois (et souvenez-vous lu cet article le mois dernier). Mais dans le contexte du code ci-dessus, fait-il réellement quelque chose sauf laisser une note pour les autres développeurs? Est-ce que cela impose quelque chose? Y a-t-il des outils qui utilisent cette annotation?Quel est le but du développement Android? –

+3

@Eric L'Android TestRunner vous permet de spécifier la taille des tests à exécuter. –

+0

Ah, je vois. Il y a pas mal de docs Android pour que je puisse passer à travers. Je suppose que c'est une bonne chose. Merci David et Mayra. –

4

En complément Davidann's answer et principalement OP's question 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-ce que cela impose quelque chose? Y a-t-il des outils qui utilisent cette annotation? Quel est le but du développement Android?

Vous pouvez exécuter un groupe de tests annoté avec une annotation spécifique.

De AndroidJUnitRunner documentation:

Exécution d'une taille de test spécifique à savoir annotée avec SmallTest ou MediumTest ou LargeTest:

adb shell instrument am -w -e taille [petit | moyen | grand] com.android.foo/android.support.test.runner.AndroidJUnitRunner

Vous peut également configurer les params par gradle:

 

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

Voir this blog post pour plus de détails.

1

Vous pouvez aussi annoter tests unitaires POJO avec @Category(MediumTest.class) ou @Category(LargeTest.class), etc. en définissant votre propre Categories - voir un exemple repo test-categories