Prueba de nariz: herramientas

El módulo nose.tools proporciona una serie de ayudas de prueba que pueden resultarle útiles, incluidos decoradores para restringir el tiempo de ejecución de la prueba y probar las excepciones, y todos los mismos métodos assertX que se encuentran en unittest.TestCase.

  • nose.tools.ok_(expr, msg = None) - Taquigrafía para afirmar.

  • nose.tools.eq_(a, b, msg = None) - Abreviatura de 'afirmar a == b, "% r! =% R"% (a, b)

  • nose.tools.make_decorator(func) - Envuelve un decorador de prueba para replicar correctamente los metadatos de la función decorada, incluidas las cosas adicionales de nose (es decir, configuración y desmontaje).

  • nose.tools.raises(*exceptions) - La prueba debe generar una de las excepciones esperadas para pasar.

  • nose.tools.timed(limit) - La prueba debe terminar dentro del límite de tiempo especificado para pasar

  • nose.tools.istest(func) - Decorador para marcar una función o método como prueba

  • nose.tools.nottest(func) - Decorador para marcar una función o método como no una prueba

Pruebas parametrizadas

El marco de prueba de Python, unittest, no tiene una forma sencilla de ejecutar casos de prueba parametrizados. En otras palabras, no puede pasar argumentos fácilmente a ununittest.TestCase desde afuera.

Sin embargo, los puertos del módulo pytest prueban la parametrización de varias formas bien integradas:

  • pytest.fixture() le permite definir la parametrización a nivel de funciones de luminaria.

  • @pytest.mark.parametrizepermite definir la parametrización a nivel de función o clase. Proporciona múltiples conjuntos de argumentos / accesorios para una función o clase de prueba en particular.

  • pytest_generate_tests permite implementar su propio esquema o extensiones de parametrización dinámica personalizada.

Un módulo de terceros 'con parámetros de nariz' permite realizar pruebas parametrizadas con cualquier marco de prueba de Python. Se puede descargar desde este enlace:https://github.com/wolever/nose-parameterized