Índice de contenido
16.6.1 Clases de Mock y Magic Mock La biblioteca unittest.mock proporciona la clase Mock y MagicMock clase. La clase Mock es la clase base para los objetos simulados. La clase MagicMock es una subclase de la clase Mock. Se llama la clase MagicMock ya que proporciona implementaciones predeterminadas para varios métodos mágicos como .len(), . str() y .iter(). Como un ejemplo simple, considere la siguiente clase a probar: clase AlgunaClase(): def _método_oculto(uno mismo): volver 0 def public_method(self, x): devuelve self.método_oculto() + x Esta clase define dos métodos; uno está pensado como parte de la interfaz pública del clase (el método_público()) y otra destinada solo para uso interno o privado (el método_oculto()). Observe que el método oculto utiliza la convención de precediendo su nombre por un guión bajo (’’). Supongamos que deseamos probar el comportamiento de public_method() y quiero simular el _hidden_method(). Podemos hacer esto escribiendo una prueba que creará un objeto simulado y lo usará en lugar del verdadero _hidden_method(). Probablemente podríamos usar el Mock class o la clase MagicMock para esto; sin embargo, debido a la funcionalidad adicional proporcionado por la clase MagicMock, es una práctica común usar esa clase. Lo haremos pues haz lo mismo. La prueba a crear se definirá dentro de un método dentro de una clase de prueba. El Los nombres del método de prueba y la clase de prueba son por convención descriptivos y por lo tanto describirá lo que se está probando, por ejemplo: de unittest.importación simulada * de unittest importar TestCase de unittest importación principal clase test_SomeClass_public_interface(TestCase): def test_public_method(self): objeto_prueba = AlgunaClase()
Configure la respuesta enlatada en el método simulado
test_object._hidden_method = MagicMock(nombre = ‘método_oculto’) test_object._hidden_method.return_value = 10
Probar el objeto
resultado = test_object.public_method(5) self.assertEqual(15, resultado, ‘valor de retorno de public_method incorrecto’) 16.6 La biblioteca unittest.mock 193
popular post
El modelo AR de series temporales univariadas
Resumen: En esta entrada, descubrirá el modelo AR: El modelo autorregresivo.
Leer másEvaluación de modelos para pronosticar
Resumen: Al desarrollar modelos de aprendizaje automático, generalmente se comparan varios modelos durante la fase de construcción.
Leer másModelos para pronosticar
Resumen: El pronóstico, traducido groseramente como la tarea de predecir el futuro, ha estado presente en la sociedad humana durante siglos.
Leer más