-
Notifications
You must be signed in to change notification settings - Fork 0
Tests
Notre application présente deux types de tests :
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.
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.
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.
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.
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.
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
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"

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)

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\SdkLes 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
yarn run e2e:build ios.sim.debug
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

yarn run e2e:build android.emu.debug
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

Linkink 2023

