Android Démarrer avec JUnit


Exemple

Installer

Pour lancer l'unité de test de votre projet Android à l'aide de JUnit, vous devez ajouter la dépendance JUnit à votre projet et créer un ensemble de sources de test qui contiendra le code source des tests unitaires. Les projets créés avec Android Studio incluent souvent déjà la dépendance JUnit et le jeu de sources de test

Ajoutez la ligne suivante à votre fichier build.gradle module dans les dépendances Closure :

testCompile 'junit:junit:4.12'

Les classes de test JUnit se trouvent dans un ensemble de sources nommé test . Si cet ensemble de sources n'existe pas, vous devez créer un nouveau dossier vous-même. La structure de dossiers d'un projet Android Studio (basé sur Gradle) par défaut ressemble à ceci:

<project-root-folder>
    /app (module root folder)
        /build
        /libs
        /src
            /main (source code)
            /test (unit test source code)
            /androidTest (instrumentation test source code)
        build.gradle (module gradle file)
    /build
    /gradle
    build.gradle (project gradle file)
    gradle.properties
    gradlew
    gradlew.bat
    local.properties
    settings.gradle (gradle settings)

Si votre projet ne dispose pas du dossier /app/src/test , vous devez le créer vous-même. Dans le dossier de test , vous avez également besoin d'un dossier java (créez-le s'il n'existe pas). Le dossier Java dans le jeu de sources de test doit contenir la même structure de package que votre jeu de sources main .

Si la configuration est correcte, la structure de votre projet (dans la vue Android d’Android Studio) devrait ressembler à ceci:

configuration du projet

Remarque: Vous n'avez pas nécessairement besoin du androidTest sources androidTest , cet ensemble de sources se trouve souvent dans les projets créés par Android Studio et est inclus ici pour référence.


Écrire un test

  1. Créez une nouvelle classe dans le jeu de sources de test .
    Cliquez avec le bouton droit de la souris sur le jeu de sources de test dans la vue du projet, choisissez New > Java class .
    Le modèle de nommage le plus utilisé consiste à utiliser le nom de la classe que vous allez tester avec Test ajouté. Donc, StringUtilities devient StringUtilitiesTest .

  2. Ajouter l'annotation @RunWith
    L'annotation @RunWith est nécessaire pour que JUnit exécute les tests que nous allons définir dans notre classe de test. Le runner JUnit par défaut (pour JUnit 4) est le BlockJUnit4ClassRunner mais, au lieu d'utiliser directement cette exécution, il est plus pratique d'utiliser l'alias JUnit4 qui est un raccourci pour le runner JUnit par défaut.

     @RunWith(JUnit4.class)
     public class StringUtilitiesTest {
     
     }
    
  3. Créer un test
    Un test unitaire est essentiellement une méthode qui, dans la plupart des cas, ne doit pas échouer si elle est exécutée. En d'autres termes, il ne devrait pas lancer d'exception. Dans une méthode de test, vous trouverez presque toujours des assertions qui vérifient si des conditions spécifiques sont remplies. Si une assertion échoue, elle génère une exception qui entraîne l'échec de la méthode / du test. Une méthode de test est toujours annotée avec l'annotation @Test . Sans cette annotation, JUnit ne lancera pas automatiquement le test.

     @RunWith(JUnit4.class)
     public class StringUtilitiesTest {
    
         @Test
         public void addition_isCorrect() throws Exception {
             assertEquals("Hello JUnit", "Hello" + " " + "JUnit");
         }
     }
    

    Remarque: contrairement à la méthode Java standard, les noms de méthode de test des unités de convention contiennent souvent des traits de soulignement.


Lancer un test

  1. Méthode
    Pour exécuter une méthode de test unique, vous pouvez cliquer avec le bouton droit sur la méthode et cliquer sur Run 'addition_isCorrect()' ou utiliser le raccourci clavier ctrl+shift+f10 . Exécuter un seul test unitaire

    Si tout est configuré correctement, JUnit commence à exécuter la méthode et vous devriez voir l'interface suivante dans Android Studio:

    Interface de test d'unité Android Studio

  1. Classe
    Vous pouvez également exécuter tous les tests définis dans une seule classe, en cliquant avec le bouton droit sur la classe dans la vue du projet et en cliquant sur Run 'StringUtilitiesTest ' ou utilisez le raccourci clavier ctrl+shift+f10 si vous avez sélectionné la classe dans la vue du projet.

  2. Package (tout)
    Si vous ne voulez pas exécuter tous les tests définis dans le projet ou dans un package, vous pouvez cliquer avec le bouton droit sur le package et cliquer sur Run ... comme si vous exécutiez tous les tests définis dans une seule classe.