Vous vous demandez lequel est le meilleur choix pour écrire des cas de tests unitaires pour Android applications et bibliothèques: utiliser la bibliothèque Robolectric ou coller avec Android Framework de test. Je veux exécuter test suite sur la ligne de commande et souhaitez qu'il soit indépendant de la nécessité de configurer l'émulateur ou de laisser un périphérique attaché à la machine de génération. Est-ce que quelqu'un d'entre vous exécute une analyse comparative sur ces deux ou quelque chose de mieux? meilleure solution.
J'utilise un système à plusieurs niveaux, où je préfère les niveaux antérieurs, si possible:
Le but des niveaux est de garder les choses aussi simples que possible, ce qui maintient la suite complète plus rapidement et aide à promouvoir un code plus propre.
J'ai travaillé sur les deux, ce que j'ai trouvé est: -
1) Robolectric ne supporte pas l'API 19, c'est mentionné dans son document - http://robolectric.org/Eclipse-quick-start/ . C'est un gros inconvénient.
2) Exécution robotique sur JVM et non sur DVM. Nous ne pouvons donc pas détecter qu'à ce moment précis, le GPS est activé dans l'appareil ou non, etc. Nous ne pouvons que transmettre notre valeur prédéterminée.
3) L'écriture de code en Robolectric est plus complexe que junit spécialement pour les fragments il y a beaucoup de complexité et de problèmes.
4) Robolectric a besoin d'un pot et d'une configuration externes et pour le test de junit, nous n'avons besoin d'aucune bibliothèque externe.
5) Robolectric est plus rapide car il fonctionne sur JVM mais cela a aussi un inconvénient, nous ne pouvons pas voir l'interface utilisateur sur notre appareil, quel code d'écran est en cours d'exécution.
Pour Android, j'aime le test jUnit.