web-dev-qa-db-fra.com

Exécuter tous les tests unitaires dans Android Studio

J'ai ce projet dans Android Studio:

 enter image description here

Je souhaite exécuter tous les tests unitaires dans tous les projets en un seul clic.

Comment je peux le faire ?

23
Kevin ABRIOUX

Tout d’abord, vous pouvez répertorier toutes les tâches de test disponibles dans votre projet avec

./gradlew tasks

Ensuite, vous pouvez choisir les tâches que vous souhaitez exécuter. Si vous voulez exécuter tous les tests pour tous les types et tous les types de construction, il vous suffit de lancer 

./gradlew test connectedAndroidTest

Si vous ne voulez pas vous souvenir de la commande de test gradle chaque fois que vous souhaitez exécuter les tests, vous pouvez créer un fichier "custom_tasks.gradle" et ajouter

task testAll(dependsOn: ['test', 'connectedAndroidTest']) {
   group = 'custom_tasks'
   description = "Run all tests"
}

Ensuite, il suffit de courir

./gradlew testAll
13
And1

Vous ne savez pas dans quelle version de Android Studio il a été ajouté, mais j'utilise Android Studio 3.4 .

Android Studio Version 3.4

Dans la fenêtre de l’explorateur de projet, sélectionnez la vue du projet .

Project View Select

Faites un clic droit sur votre projet racine et sélectionnez "Créer 'Tous les tests' ..."

Create 'All Tests'

... cette fenêtre apparaît (ces valeurs par défaut doivent être changées)

Default edit config window

Changer les options suivantes:

  • Rechercher des tests:

    • Dans l'ensemble du projet
  • JRE:

    • Version la plus récente de Android API __ Plate-forme disponible dans ce menu (pour moi, Plate-forme Android API 28
  • Cliquez sur Appliquer .

Edited Test configuration

  • Sélectionnez "Tous les tests" dans le menu déroulant.

enter image description here

  • Voir les résultats de tous vos tests

enter image description here

12
lustig
  1. Dans le panneau "Projet" (CMD + 1 à afficher), cliquez avec le bouton droit de la souris sur "Java".
  2. Cliquez sur "Exécuter des tests en Java

Vous pouvez essayer d'utiliser cette ligne de commande sur le terminal Android: Mac:

./gradlew test connectedAndroidTest

Les fenêtres:

gradlew test connectedAndroidTest
4
Xavier Bauquet

Test depuis la ligne de commande

Exécution de tests unitaires avec Gradle

Test unitaire local

./gradlew test
./gradlew :<moduleName>:test<variantName>UnitTest --tests <pattern>

Test unitaire instrumenté

./gradlew connectedAndroidTest
./gradlew :<moduleName>:connected<variantName>AndroidTest -Pandroid.testInstrumentationRunnerArguments.class=<package.TestClassName>

En savoir plus ici , ici

0
yoAlex5

Si la question concerne l'exécution par le coureur de test de studio Android. Non, ce n'est pas possible, encore maintenant, au moment où j'écris ceci, mais vous pouvez avoir une tâche de test de dégradé dans des configurations d'exécution et les exécuter simplement en appuyant sur le bouton.

 enter image description here

Vous pouvez ouvrir le panneau latéral Gradle, ouvrir les tâches de projet racine et rechercher une tâche de test dans le dossier de la tâche de vérification, puis cliquer dessus. Vous pouvez également lui attribuer un raccourci ou l'enregistrer pour exécuter des configurations. Néanmoins, cela sera exécuté dans le panneau Exécuter en tant que tâche de gradé. 

(Je cherchais un moyen d'exécuter tous les tests à l'intérieur d'Android Test Runner, pas en ligne de commande ni dans la tâche de gradation, mais j'ai découvert ceci)

0
Renetik