-
Notifications
You must be signed in to change notification settings - Fork 3
Tests
Afin de garantir que nous n'avons pas de régressions, nous devons avoir des tests. Ces tests sont divisés en deux catégories .
- Unitaires, qui ciblent une méthode en particulier, détachée de son environnement
- Fonctionnels, qui eux testent si l'intégration des différents composants répond aux attentes
Pytest nous servira à la fois pour les tests fonctionnels et unitaires. C'est un framework de test assez simpliste, qui fait tout ce qu'on a besoin. Il trouve les tests tout seul avec le nom de fichier et le nom de la fonction, il crée des jolis rapports et il a tout ce qu'il faut pour faire des globales, pré-loader des choses, etc…
tox permet de tester sous différents environnements (py2k, py3k, pypy, etc…)
Le principe de l'intégration continue est d'avoir un serveur qui lance toute une batterie de tests après chaque commit.
Ça sera certainement du Travis-ci avec un serveur qui lancera les tests (soit une VM amazon, soit mon Kimsufi dans un 1er temps).
Ces tests sont extrêmement importants et peuvent être codés dès le début. En effet, ils assurent que l'application se comporte de manière nominale dans un maximum de situations et d'environnements.
- Onitu se lance sans erreur
- Onitu attend Redis
- Si un driver quitte, il est relancé
- Si un driver est relancé il fonctionne avec le reste
- Si le Referee quitte, il est relancé
- Si le Referee est relancé, il fonctionne avec le reste
- Si Redis quitte il est relancé
- Si Redis est relancé, il fonctionne avec le reste
- Il doit mettre son port dans Redis
- Il doit traiter N-événements similaires comme un seul
- Il doit gérer une grosse charge (test à préciser)
- Crée le fichier s'il n'existe pas
- Peut mettre à jour un fichier
- Peut mettre à jour un fichier avec un contenu plus petit
- Crée les répertoires s'ils n'existent pas
Pour le moment les tests unitaires ne sont pas la priorité. Ils seront certainement codé en utilisant pytest. On les ajoutera certainement vers la version 0.3 ou 0.4, quand on aura une base plus mature.