Tests Unitaires de alcos.zip

Le module alcos.zip comporte deux classes : Reader et Writer qui permettent respectivement de dézipper ou zipper tout ou partie de sous-arbres de fichiers en utilisant le module standard zipfile.

Les fichiers à zipper peuvent être sélectionnés par expressions simples du genre .txt ou des expressions régulières.

Arborescences parallèles

Nous utilisons l'environnement de développement PythonWin qui nous permet d'accéder aux modules Python par une interface de style Explorer.

  • le catalogue alcos contient des fichiers sources Python.
  • le catalogue alcostest contient les fichiers sources des Tests Unitaires associés, et des sous-catalogues ref et out qui contiendront respectivement les fichiers utilisés en entrée et produits par les Tests Unitaires.
images/unittest_treerefout.jpg

Le fichier source alcos/zip.py contient le module Python alcos.zip.

Le fichier source alcostest/ziptest.py contient le module de Tests Unitaires alcostest.ziptest.

images/unittest_modules.jpg

La classe alcostest.ziptest.ReaderTestCase est un TestCase qui réunit tous les Tests Unitaires de alcos.zip.Reader.

images/unittest_zipreadertest.jpg

La classe alcostest.ziptest.WriterTestCase est un TestCase qui réunit tous les Tests Unitaires de alcos.zip.Writer.

images/unittest_zipwritertest.jpg

Exécution des Tests Unitaires

Nous avons éxécuté deux fois les Tests Unitaires dans l'environnement PythonWin, dont la fenêtre interactive affiche tout ce qui est écrit sur stdout et stderr.

Le premier essai a échoué, on a le détail des raisons de l'échec,
et une ligne de résumé finale :

unittest(alcostest.ziptest) : FAILED (failures=1, errors=0), Ran 9 tests in 0.172s

Après correction, le deuxième essai a réussi, on a juste la ligne de résumé finale :

unittest(alcostest.ziptest) : OK, Ran 9 tests in 0.203s

NB:

**errors** : les erreurs que le Cadre de Test (Framework) a trouvé dans le code des Tests Unitaires
**failures** : les erreurs que les Tests Unitaires ont trouvé dans le code à tester.
images/unittest_running.jpg

La fonction runStandardTests( ) enchaîne les Tests Unitaires des Modules.

images/unittest_enchainement.jpg

Le journal complet du déroulement des tests unitaires contient

....
=================== Tests alcostest.ziptest =================
testReadFileMadeByWinzip (alcostest.ziptest.ReaderTestCase) ... ok
testReadFilesPattern (alcostest.ziptest.ReaderTestCase) ... ok
testReadSubTree (alcostest.ziptest.ReaderTestCase) ... ok
testReadToolTipAbsent (alcostest.ziptest.ReaderTestCase) ... ok
testReadToolTipPresent (alcostest.ziptest.ReaderTestCase) ... ok
testWriteList (alcostest.ziptest.WriterTestCase) ... ok
testWriteMultiplePattern (alcostest.ziptest.WriterTestCase) ... ok
testWriteRegexpPattern (alcostest.ziptest.WriterTestCase) ... ok
testWriteRelative (alcostest.ziptest.WriterTestCase) ... ok
testWriteShellPattern (alcostest.ziptest.WriterTestCase) ... ok
testWriteSubTree (alcostest.ziptest.WriterTestCase) ... ok
testWriteToolTip (alcostest.ziptest.WriterTestCase) ... ok
unittest(alcostest.ziptest) : OK, Ran 12 tests in 0.219s
....
===== ALL TESTS OK ==== Ran 436 tests