17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

412<br />

Techniques avancées<br />

QUATRIÈME PARTIE<br />

>>> somme(2, 4)<br />

6<br />

"""<br />

return a + b<br />

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

doctest.testmod()<br />

Appelée avec l’argument -v, cette fonction détaille dans la sortie standard le travail<br />

effectué.<br />

Session de test<br />

[tziade@Tarek tests]$ python test_doctests.py -v<br />

Trying:<br />

somme(2, 2)<br />

Expecting:<br />

4<br />

ok<br />

Trying:<br />

somme(2, 4)<br />

Expecting:<br />

6<br />

ok<br />

1 items had no tests:<br />

__main__<br />

1 items passed all tests:<br />

2 tests in __main__.somme<br />

2 tests in 2 items.<br />

2 passed and 0 failed.<br />

Test passed.<br />

Un appel sans paramètre sera totalement silencieux dans cet exemple où le test n’aboutit<br />

pas à une erreur. En cas de problème, un message est affiché avec ou sans l’option -v.<br />

Syntaxe des doctests<br />

Nous l’avons vu dans l’exemple précédent, les doctests sont à peu de chose près des<br />

copiers-collers de sessions du prompt interactif de Python. Ils doivent donc conserver<br />

les même caractéristiques, et respecter quelques règles particulières, à savoir :<br />

Respect de l’indentation, sachant que toutes les tabulations sont modifiées à la<br />

volée par des espaces, en utilisant la même règle que l’analyseur syntaxique de<br />

l’interpréteur.<br />

Séquençage correct des lignes, qui doivent commencer par >>> ou par ... pour le<br />

code et aucun caractère particulier pour une sortie attendue.

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

Saved successfully!

Ooh no, something went wrong!