Je suis nouveau sur 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 cette annotation accomplit?
Ce billet de blog l'explique le mieux. Fondamentalement, c'est la suivante:
Selon le blog des développeurs Android , un petit test devrait prendre <100 ms, un test moyen <2 s et un grand test <120 s.
Voir cette page (recherchez "@SmallTest") pour savoir quels tests doivent être exécutés.
En complément de réponse de Davidann et principalement question de OP dans le commentaire:
Dans le contexte du code ci-dessus, est-ce réellement [~ # ~] [~ # ~] autre chose que de laisser une note aux autres développeurs? Applique-t-il quelque chose? Y a-t-il des outils qui utilisent cette annotation? À quoi sert-il dans Android?
Vous pouvez exécuter un groupe de tests annotés avec une annotation spécifique.
De documentation AndroidJUnitRunner :
Exécution d'une taille de test spécifique, c'est-à-dire annotée avec SmallTest ou MediumTest ou LargeTest :
adb Shell am instrument -w -e size [small | medium | large] com.Android.foo/Android.support.test.runner.AndroidJUnitRunner
Vous pouvez également configurer ces paramètres via gradle:
Android {
...
defaultConfig {
...
testInstrumentationRunnerArgument 'size', 'Large'
}
}
Voir cet article de blog pour plus de détails.
Vous pouvez également annoter les tests unitaires POJO avec @Category(MediumTest.class)
ou @Category(LargeTest.class)
, etc. en définissant votre propre Catégories - voir test-categories = repo pour un exemple