En Python, uno de los marcos de pruebas unitarias más utilizados es unittest, que se incluye en la biblioteca estándar. Proporciona un amplio conjunto de herramientas para crear y ejecutar pruebas, así como para informar resultados.
Características clave del marco unittest
Caso de prueba: un caso de prueba se crea subclasificando unittest.TestCase. Cada método de la clase que comienza con test_ se considera una prueba.
Aserciones: el marco proporciona una variedad de métodos de aserción para verificar los resultados esperados, como afirmarEqual, afirmarVerdadero, afirmarFalso, etc.
Test Runner: el marco incluye un ejecutor de pruebas que ejecuta las pruebas e informa los resultados.
Estructura básica de una prueba unitaria
Importar el módulo unittest: comience importando la biblioteca unittest.
Crear un caso de prueba: definir una clase que herede de unittest.TestCase.
Definir métodos de prueba: cada método debe comenzar con test_ y contener aserciones para verificar el comportamiento esperado.
Ejecutar las pruebas: use unittest.main() para ejecutar las pruebas si el script se ejecuta directamente.
Ejemplo sencillo
Aquí hay un ejemplo sencillo que demuestra cómo utilizar el marco de prueba unitaria para probar una función simple.
Función a probar
Primero, creemos una función simple que probaremos:
def agregar(a, b):
devolver una b
def restar(a, b):
devolver a-b
Prueba unitaria para la función
Ahora crearemos una prueba unitaria para las funciones de suma y resta:
importar prueba unitaria
de math_functions importar sumar, restar # Importar las funciones a probar
clase TestMathFunctions(unittest.TestCase):
def test_add(self): self.assertEqual(add(2, 3), 5) # Test case: 2 3 = 5 self.assertEqual(add(-1, 1), 0) # Test case: -1 1 = 0 self.assertEqual(add(0, 0), 0) # Test case: 0 0 = 0 def test_subtract(self): self.assertEqual(subtract(5, 3), 2) # Test case: 5 - 3 = 2 self.assertEqual(subtract(-1, -1), 0) # Test case: -1 - (-1) = 0 self.assertEqual(subtract(0, 5), -5) # Test case: 0 - 5 = -5
si nombre == 'principal':
prueba unitaria.main()
Explicación de la Prueba Unitaria
importar prueba unitaria: Importa el módulo de prueba unitaria.
de math_functions importar sumar, restar: Importa las funciones que queremos probar.
clase TestMathFunctions(unittest.TestCase): define una clase de caso de prueba que hereda de unittest.TestCase.
Cada método que comienza con test_ representa una prueba separada.
Dentro de cada método de prueba, self.assertEqual() comprueba si la salida de la función coincide con el valor esperado.
if name == 'main': unittest.main(): Esta línea permite que el script ejecute las pruebas cuando se ejecuta directamente.
Ejecución de las pruebas
Para ejecutar las pruebas, simplemente ejecute el script test_math_functions.py. Puedes hacer esto desde la línea de comando:
python test_math_functions.py
Producción
Si todas las pruebas pasan, verá un resultado similar a este:
Ejecuté 2 pruebas en 0.001s
DE ACUERDO
Esto indica que los métodos test_add y test_subtract se aprobaron correctamente. Si alguna afirmación falla, unittest informará la falla, mostrando qué prueba falló y por qué.
Conclusión
El marco de pruebas unitarias en Python proporciona una forma sencilla y eficaz de crear y ejecutar pruebas unitarias. Al escribir pruebas para sus funciones, puede asegurarse de que se comporten como se espera y mantengan una alta calidad del código durante todo el proceso de desarrollo.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3