À quoi servent les annotations @SmallTest, @MediumTest et @LargeTest dans Android?
99
Je suis nouveau sur Android et j'ai vu un exemple de code utilisant ces annotations. Par exemple:
@SmallTestpublicvoid testStuff(){TouchUtils.tapView(this, anEditTextView);
sendKeys("H E L P SPACE M E PERIOD");
assertEquals("help me.", anEditTextView.getText().toString());}
Dans le contexte du code ci - dessus, est - ce vraiment DO quoi que ce soit , sauf laisser une note pour d' autres développeurs? Est-ce qu'il applique quelque chose? Existe-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és avec une annotation spécifique.
OK, donc en bref je ne peux exécuter que la suite de tests @SmallTest avec adb shell am instrument -w -e size small com.android.foo/android.support.test.runner.AndroidJUnitRunner; merci
kosiara - Bartosz Kosarzycki
Comment spécifier l'annotation dans une commande gradle? Par exemple, quelque chose comme:./gradlew connectedDebugAndroidTest -size MediumTest
Je vois (et je me souviens avoir lu cet article le mois dernier). Mais dans le contexte du code ci-dessus, fait-il réellement autre chose que de laisser une note aux autres développeurs? Est-ce qu'il applique quelque chose? Existe-t-il des outils qui utilisent cette annotation? Quel est le but du développement Android?
Eric Palakovich Carr
3
@Eric L'Android TestRunner vous permet de spécifier la taille des tests à exécuter.
Vous pouvez également annoter les tests unitaires POJO avec @Category(MediumTest.class)ou @Category(LargeTest.class), etc. en définissant vos propres catégories - voir le référentiel test-categories pour un exemple
adb shell am instrument -w -e size small com.android.foo/android.support.test.runner.AndroidJUnitRunner
; merci./gradlew connectedDebugAndroidTest -size MediumTest
Ce billet de blog l' explique le mieux. En gros, c'est le suivant:
Selon le blog des développeurs Android , un petit test devrait prendre <100 ms, un test moyen <2 s et un test important <120 s.
Consultez cette page (recherchez "@SmallTest") pour savoir comment spécifier les tests à exécuter.
la source
Vous pouvez également annoter les tests unitaires POJO avec
@Category(MediumTest.class)
ou@Category(LargeTest.class)
, etc. en définissant vos propres catégories - voir le référentiel test-categories pour un exemplela source