Skip to content
Gwladys edited this page Mar 14, 2024 · 17 revisions

Notre application présente deux types de tests :

Tests unitaires

Lors du développement de notre application, nous utilisons divers tests afin de nous assurer du bon fonctionnement de l'application au fur et à mesure de son évolution.

Outil

Jest icon

Nous utilisons Jest.

Il s'agit d'un puissant framework de tests en JavaScript, qui nous permet de valider le bon fonctionnement de notre code, notamment grâce à des tests unitaires.

Pour lancer les tests :

Utilisez la commande suivante dans le dossier /app

yarn test

Cette commande lance tous les tests unitaires et d'intégration écrits pour notre application. De plus, cette commande est intégrée à notre Github CI Pipeline afin de nous assurer que les nouvelles modifications n'apportent pas d'erreurs au sein de notre projet.

Tests End-to-end

Les tests end-to-end (E2E) nous permettent de simuler des scénarios d'utilisation réels et de vérifier que l'ensemble de l'application fonctionne comme prévu. Ces tests impliquent l'interaction avec l'application dans son intégralité, en imitant les actions d'un utilisateur réel, que ce soit pour l'utilisation de l'interface utilisateur ou les appels à l'API ou a des services externes.

Outil

Detox icon

Nous utilisons Detox. Il s'agit d'un framework de tests E2E pour React Native. Il permet ainsi de simuler des interactions utilisateurs, sur Android comme sur iOS. Cet outil offre également la possibilité de faire tourner les tests sur notre Github CI Pipeline.

Installation

Pour faire tourner les tests, que ce soit pour android ou iOS, il faut préalablement générer les dossiers iOS et android. Dans /app, lancez donc la commande suivante :

npx expo prebuild

IOS

Pour faire tourner les tests IOS, il est nécessaire d'installer préalablement applesimutils.

brew tap wix/brew
brew install applesimutils

Dans XCode, ajoutez le simulateur iPhone 12 :

Ouvrez Xcode
Allez dans Window → Devices and Simulators
Allez sur l'onglet Simulators
Cliquez sur le bouton "+" en bas à gauche pour créer un nouveau simulateur
Sélectionnez "iPhone 12" et la dernière version iOS. (cf. image)
Cliquez sur "Create"

Ajout iPhone 12 sur XCode

Android

Pour android, il faut préalablement installer Android Studio. Une fois celui-ci installé, il est nécessaire d'ajouter le dispositif Pixel 3 API 32, en suivant les étapes suivantes.

Ouvrez Android Studio
Allez dans Tools → AVD Manager
Créez un nouveau dispositif virtuel
Choisissez le dispositif Pixel 3
Nommez ce dispositif "Pixel_3_API_32_arm64"
Choisissez l'image API 32 arm 64 (cf. images)

Choix du device Choix de l'image du device

Il peut être nécessaire d'ajouter le SDK 33.

Allez dans Préférences → Apparences → System Settings
Sélectionnez "Android API 33" et téléchargez-le si nécessaire
Cliquez sur "Appliquer"

Il peut également être nécessaire d'ajouter les variables d'environnement suivantes.

ANDROID_HOME= PATH_TO_YOUR_SDK
ANDROID_SDK_ROOT= PATH_TO_YOUR_SDK

#PATH_TO_YOUR_SDK = généralement C:\Users\YourUsername\AppData\Local\Android\Sdk

Utilisation

Les commandes sont à utiliser dans le dossier app de l'application. Pour tester avec l'environnement local du backend, pensez à changer son port dans le .env : PORT=8082

iOS

Pour build les tests :

yarn run e2e:build ios.sim.debug

Pour lancer les tests :

Dans app, lancer l'application :

yarn start

Si vous souhaitez tester avec l'environnement backend local, lancez également votre backend.

yarn run e2e:test ios.sim.debug

Tests login sur iOS

Android

Pour build les tests :

yarn run e2e:build android.emu.debug

Pour lancer les tests :

Pour les tests sur android, il est nécessaire de lancer l'application avant de lancer les tests.

Dans un terminal,

yarn run start

Si vous souhaitez tester avec l'environnement backend local, lancez également votre backend.

puis dans un second terminal

yarn run e2e:test android.emu.debug

Tests login sur android

Clone this wiki locally