Skip to content

Tests et Déploiements

Le déploiement est automatisé en utilisant Fastlane.

Les fichiers de configurations pour les tests et déploiements sont :

Tests

Tests unitaires

Les tests unitaires sont stockés dans ./test et sont basés sur Flutter Test et Mockito.

Pour lancer les tests :

1
flutter test

Pour lancer les tests avec coverage :

1
flutter test --coverage

Pour lire les fichiers coverage :

1
2
lcov -r coverage/lcov.info $(cat ./.lcovignore) -o coverage/lcov.info
genhtml -o coverage coverage/lcov.info

Les fichiers HTML sont stockés dans le dossier ./coverage.

Tests d'intégration

Les tests d'intégrations sont stockés dans ./test_driver et sont bases sur Flutter Driver et Flutter Test.

Pour lancer les tests d'intégration, il faut utiliser un appareil Android ou émulateur avec ADB connecté puis lancer :

1
flutter drive --target=test_driver/app.dart --driver=test_driver/navigation_test.dart

Le test navigue sur toute l'application et prend des captures d'écran.

Déploiements

Il est impossible pour un contributeur externe de déployer sur le Play Store.

Les étapes de déploiements précises sont :

  1. Installer Flutter Stable.
  2. Injecter les Secrets de Github.

  3. ALIAS: Nom de la clé pour la signature

  4. CI_CONSUMER_KEY: Clé API Twitter.
  5. CI_CONSUMER_SECRET: Secret Twitter pour OAuth2.
  6. CI_WEBHOOK_KEY: Clé API Slack pour le bot de signalement.
  7. KEYSTORE_PASSWORD: Mot de passe du gestionnaire de clé.
  8. KEY_PASSWORD: Mot de passe de la clé pour la signature.
  9. RELEASE_KEYSTORE_BASE64: Le gestionnaire de clé.
  10. SUPPLY_JSON_KEY_DATA: La clé pour publier sur le Play Store.

  11. Compiler en AAB.

  12. Déployer sur le Play Store avec Fastlane.