Test du nez - Outils

Le module nose.tools fournit un certain nombre d'aides de test que vous pourriez trouver utiles, y compris des décorateurs pour limiter le temps d'exécution des tests et tester les exceptions, et toutes les mêmes méthodes assertX que celles trouvées dans unittest.TestCase.

  • nose.tools.ok_(expr, msg = None) - Raccourci pour affirmer.

  • nose.tools.eq_(a, b, msg = None) - Raccourci pour 'assert a == b, «% r! =% R»% (a, b)

  • nose.tools.make_decorator(func) - Enveloppe un décorateur de test afin de reproduire correctement les métadonnées de la fonction décorée, y compris les éléments supplémentaires du nez (à savoir, l'installation et le démontage).

  • nose.tools.raises(*exceptions) - Le test doit déclencher l'une des exceptions attendues pour réussir.

  • nose.tools.timed(limit) - Le test doit se terminer dans le délai spécifié pour réussir

  • nose.tools.istest(func) - Décorateur pour marquer une fonction ou une méthode comme test

  • nose.tools.nottest(func) - Décorateur pour marquer une fonction ou une méthode comme n'étant pas un test

Test paramétré

Le cadre de test de Python, unittest, ne dispose pas d'un moyen simple d'exécuter des cas de test paramétrés. En d'autres termes, vous ne pouvez pas facilement passer d'arguments dans ununittest.TestCase de dehors.

Cependant, les ports du module pytest testent la paramétrisation de plusieurs manières bien intégrées -

  • pytest.fixture() permet de définir la paramétrisation au niveau des fonctions de l'appareil.

  • @pytest.mark.parametrizepermet de définir la paramétrisation au niveau de la fonction ou de la classe. Il fournit plusieurs ensembles d'arguments / appareils pour une fonction ou une classe de test particulière.

  • pytest_generate_tests permet d'implémenter votre propre schéma ou extensions de paramétrage dynamique personnalisé.

Un module tiers 'nose-parameterized' permet des tests paramétrés avec n'importe quel framework de test Python. Il peut être téléchargé à partir de ce lien -https://github.com/wolever/nose-parameterized