Index of content
En este ejemplo, la función que se está probando es some_func() pero some_func() llamadas afuera a el burlado función módulo_externo.api_call(). Esta función simulada devuelve un objeto MagicMock con un objeto preespecificado código_estado y respuesta. Las aserciones entonces validan que el objeto devuelto por some_func() contiene el código de estado y la respuesta correctos. 16.6.4 Se han llamado simulacros de validación Usando unittest.mock es posible validar que una función simulada o método era llamado adecuadamente usando afirmar_llamada(), afirmar_- llamado_con() o afirmar_llamado_una vez_con() dependiendo de si la función toma parámetros o no.
Llama a la API externa, que queremos simular
respuesta = external_module.api_call() devolver clase de respuesta test_some_func_calling_api(TestCase): clase test_some_func_calling_api(TestCase): @patch(’external_module.api_call’) def test_some_func(self, mock_api_call):
Configura una versión simulada de api_call
mock_api_call.return_value = MagicMock(status_code=200, respuesta=json.dumps({‘clave’:‘valor’}))
Llama a some_func() que llama al (simulacro) api_call()
función resultado = alguna_función()
Comprobar que el resultado devuelto por some_func() sea
lo que se esperaba self.assertEqual(result.status_code, 200, “devuelto el código de estado no es 200”) self.assertEqual(resultado.respuesta, ‘{“clave”: “valor”}’, “respuesta JSON incorrecta”) importar módulo_externo de unittest.importación simulada * de unittest importar TestCase de unittest importación principal importar json def alguna_func(): 196 dieciséis Burlarse para probar
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