17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Utilisation des méthodes d’assertion<br />

Utilisation directe d’une classe TestCase<br />

<strong>Programmation</strong> dirigée par les tests<br />

CHAPITRE 12<br />

Il y a plusieurs manières d’utiliser cette classe de test, la plus simple étant d’appeler la<br />

fonction main() du module unittest, en ajoutant à la fin du module contenant la<br />

classe une section __main__.<br />

Ajout d’un appel au framework<br />

main() se charge de collecter les tests, de les exécuter et d’afficher les résultats dans la<br />

sortie standard.<br />

Exécution du module<br />

[...]<br />

# vérifions l'objet renvoyé<br />

self.assert_(isinstance(o2, object),<br />

"l'objet renvoyé par dump n'est pas du même type")<br />

self.assertEqual(o2.a, 1,<br />

"l'objet renvoyé par dump n'a pas la même valeur a")<br />

self.assertEqual(o2.b, 2,<br />

"l'objet renvoyé par dump n'a pas la même valeur b")<br />

[...]<br />

if __name__ == '__main__':<br />

unittest.main()<br />

[tziade@Tarek Desktop]$ python test_cPickle.py<br />

.<br />

----------------------------------------------------------------------<br />

Ran 1 test in 0.002s<br />

OK<br />

Dans ce mode d’affichage, chaque petit point correspond à un test réussi, un F indiquerait<br />

un test raté (F pour FAIL) et un E une erreur différente d’une erreur de type<br />

AssertionError.<br />

Cet appel permet de valider rapidement un module de test mais ne constitue pas une<br />

campagne de tests en soi, qui intègre généralement plusieurs modules de tests.<br />

Organisation d’une campagne de tests<br />

Pour pouvoir lancer une campagne de tests, qui inclut tous les modules de tests du<br />

programme, il est nécessaire de mettre en place un script qui collecte et exécute<br />

l’ensemble des modules de tests disponibles dans un répertoire donné.<br />

407

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!