Указатель содержания
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 Principiantes Guía de Python 3 Programación Juan caza
Прочитайте большеTemas de Pregrado en Ciencias de la Computación Principiantes Guía de Python 3 Programación Juan caza
Прочитайте большеgratis. Para la mayor parte del trabajo que hago en Python, la versión Community es más que adecuado y por lo tanto es la versión que puede descargar e instalar (nota con el Versión profesional, obtiene una prueba gratuita, pero deberá pagar la versión completa versión al final de la versión de prueba o vuelva a instalar la versión de la Comunidad en ese momento).
Прочитайте больше