Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Kotlin
  3. Android : tester l'application
Extrait - Kotlin Les fondamentaux du développement d'applications Android
Extraits du livre
Kotlin Les fondamentaux du développement d'applications Android Revenir à la page d'achat du livre

Android : tester l'application

Logcat

1. Présentation

Logcat est un système de journalisation qui fournit un environnement pour la collecte et l’affichage de la sortie de débogage des applications. Les logs incluent des informations sur le déroulement de l’exécution de l’émulateur, c’est-à-dire les erreurs et les messages écrits par l’utilisateur dans l’application via la classe Log. Il est possible de filtrer facilement ces informations grâce à Logcat.

2. Vue d’ensemble

Logcat est disponible depuis Android Studio en cliquant sur l’onglet Logcat :

images/11EP01.png

Voici un zoom sur les différentes fonctionnalités offertes par Logcat :

images/11EP02.png

1. Permet de vider les logs.

2. Permet de passer d’une erreur à l’autre.

3. Permet de configurer la présentation des logs.

4. Permet d’afficher les logs selon leur niveau.

5. Permet de faire une recherche dans le contenu des logs.

6. Permet de prédéfinir des filtres de recherche.

Il est important d’utiliser cet outil lors de vos développements. Une bonne utilisation des logs permet de se soustraire de l’utilisation du débogueur.

Tests unitaires avec JUnit

1. Présentation

Les tests unitaires permettent de s’assurer du bon fonctionnement d’une unité de programme. Il est indispensable de mettre en place des tests unitaires tout au long du développement d’une application. JUnit est le célèbre framework permettant de réaliser des tests unitaires.

Par défaut, dans un projet Android, la librairie JUnit est présente dans le fichier de dépendances build.gradle :

dependencies { 
 
//... 
 
   testImplementation 'junit:junit:4.12' 
 
//... 
 
} 

Un projet Android a par défaut trois dossiers dans le dossier src :

  • Le dossier main contient les sources de l’application.

  • Le dossier Test contient les tests unitaires pouvant être exécutés en local.

  • Le dossier AndroidTest contient les tests unitaires devant être exécutés sur un appareil mobile ou un émulateur.

2. Procédure

Pour créer une classe de test JUnit 4 de base, il est nécessaire de créer une classe Kotlin contenant une ou plusieurs fonctions de test. Une fonction de test commence par l’annotation @Test et contient les instructions permettant de vérifier une fonctionnalité unique.

3. Démonstration

Cette démonstration présente une application contenant une base de données et une DAO créées par l’ORM Room (cf. chapitre Android : quelques librairies incontournables - Room). La base de données contient une table personnes.

Personne.kt

package fr.acos.junitwithkotlin.entities ...

Test de l’interface avec Espresso

1. Présentation

Espresso est une API permettant de tester l’interface d’une application. Il est possible de simuler des actions utilisateur sur l’interface d’une application et ensuite de tester si le résultat d’une action est bien celui attendu, en vérifiant l’état et la valeur d’affichage des différents éléments de l’interface graphique.

Espresso est l’API de base pour tester les interfaces utilisateur ; les dépendances vers l’API Espresso sont déjà présentes dans Gradle au moment de la création de nouveaux projets sous Android Studio. Cette API est appréciée pour sa fiabilité et sa facilité d’utilisation.

Les objectifs de ce chapitre sont les suivants :

  • savoir mettre en place Espresso,

  • découvrir le fonctionnement de ce type de test.

2. Procédure de mise en place

Pour mettre en place Espresso dans un projet, il est nécessaire de suivre les étapes suivantes :

  • définir les dépendances nécessaires,

  • définir les tests.

3. Dépendances

Voici les dépendances nécessaires pour l’utilisation d’Espresso :

dependencies  
 
{ 
 
   ... 
 
   androidTestImplementation 
'com.android.support.test.espresso:espresso-core:3.0.2' 
 
   androidTestImplementation 'com.android.support.test: 
runner:1.0.2' 
 
   androidTestImplementation 
'com.android.support.test:rules:1.0.2' 
 
   ... 
 
} 

4. Définir un test

a. Définir une classe de test

Pour définir un test sur une activité avec Espresso, il est tout d’abord nécessaire de créer une classe de test dans l’arborescence du dossier AndroidTest :

MainActivityTest.kt

@LargeTest ...