Closed
Milestone
Oct 1, 2018–Nov 1, 2018
Coverage - Views
Milestone ID: 3
Objectif : 90% 85% sur les vues
Coverage sur master
au 06/09/18 (branches prises en compte, non indiquées dans ce tableau) :
Module | statements | missing | coverage | Issue(s) / MR(s) |
---|---|---|---|---|
bda/views.py | 410 | 253 | 32.71% | #205 |
gestioncof/csv_views.py | 37 | 31 | 10.53% | #204 |
gestioncof/petits_cours_views.py | 222 | 185 | 11.94% | #204 !325 (merged) |
gestioncof/views.py | 489 | 151 |
|
|
kfet/auth/views.py | 70 | 0 | 100.00% | |
kfet/open/views.py | 23 | 1 | 92.00% | |
kfet/views.py | 1226 | 346 |
|
#199 |
utils/views/autocomplete.py | 17 | 1 | 91.30% | |
Total | 2494 | 968 |
|
Vérifier les issues ci-dessous avant de vous lancer, et créer une MR, même vide, ou une issue vous en commentaire si vous souhaitez vous charger de tout ou partie d'un module ;-)
Tagger cette milestone sur votre issue/MR et on mettra à jour le tableau ici.
Où ?
- Depuis master,
<app_dir>
est à remplacer pargestioncof
,bda
oukfet
:
$ pip install coverage
$ coverage run --branch --source <app_dir> manage.py test
$ coverage report --show-missing
La dernière colonne donne les lignes non couvertes et branches (conditionnelles) non couvertes.
- Si qqn se motive, il peut faire ce travail d'identification et créer une issue par module (puis l'indiquer ici)
Pour chaque vue, tester a minima :
- autorisation : qui peut y accéder et qui ne devrait pas y accéder ?
-
status_code == 200
pour chaque méthode HTTP supportée - formulaires : au moins une soumission avec succès
Comment ?
- Signaler vous en commentaire de l'issue relative au module (créer la si nécessaire) pour ne pas se marcher dessus
- Créer s'il n'existe pas encore le module :
<app_name>/tests/test_views.py
(penser àtouch <app_name>/tests/__init__.py
sinon le test ne sera pas découvert) - Pour ne pas trop se répéter, vous pouvez (facultatif) utiliser
shared.tests.ViewTestCaseMixin
pour étendredjango.test.TestCase
. Lire sa doc pour ce qui y est fait.
Par exemple, pour une vue "liste" :
https://git.eleves.ens.fr/cof-geek/gestioCOF/blob/master/kfet/tests/test_views.py#L21
Et pour une vue "formulaire" :
https://git.eleves.ens.fr/cof-geek/gestioCOF/blob/master/kfet/tests/test_views.py#L65