Index of content
En el código anterior, _hidden_method() se reemplaza con una versión simulada para SomeClass dentro del método test_public_method(). Tenga en cuenta que el simulacro versión del método se pasa como un parámetro al método de prueba para que el se puede especificar una respuesta enlatada. También puede usar el decorador @patch() para simular una función de un módulo. Por ejemplo, dado algún módulo externo con una función api_call, podemos simule esa función usando el decorador @patch(): @patch(’external_module.api_call’) def test_some_func(self, mock_api_call): Esto usa patch() como decorador y pasa la ruta del objeto de destino. El objetivo la ruta era ’external_module.api_call’, que consiste en el nombre del módulo y el Función para burlarse. 16.6.3 Burlarse de objetos devueltos En los ejemplos vistos hasta ahora, los resultados devueltos por las funciones simuladas o Los métodos han sido enteros simples. Sin embargo, en algunos casos los valores devueltos deben burlarse de sí mismos ya que el sistema real devolvería un objeto complejo con múltiples atributos y métodos. El siguiente ejemplo usa un objeto MagicMock para representar un objeto devuelto de una función simulada. Este objeto tiene dos atributos, uno es una respuesta código y el otro es una cadena JSON. JSON significa la notación de objetos de JavaScript y es un formato de uso común en los servicios web. clase test_SomeClass_public_interface(TestCase): @parche.objeto(AlgunaClase, ‘_método_oculto’) def test_public_method(self, mock_method):
Configurar respuesta enlatada
método_simulado.return_value = 10
Crear objeto para ser probado
objeto_prueba = AlgunaClase() resultado = test_object.public_method(5) self.assertEqual(15, resultado, ‘valor de retorno de public_method incorrecto’) 16.6 La biblioteca unittest.mock 195
popular post
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Read MoreTemas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Read More• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.
Read More