Articles of burlándose de

¿Cómo me burlo de un método que utiliza requests.get en mi clase?

Estoy intentando crear algunas pruebas unitarias para mi clase. Quiero burlarme de estos, para no quemar mi cuota de API ejecutando algunas de estas pruebas. Tengo varios casos de prueba que llamarán al método de fetch y, dependiendo de la URL pasada, obtendré resultados diferentes. Mi clase de ejemplo se ve así: import requests class […]

parche py.test en accesorio

Uso lo siguiente para simular valores constantes para una prueba con py.test: @patch(‘ConstantsModule.ConstantsClass.DELAY_TIME’, 10) def test_PowerUp(): … thing = Thing.Thing() assert thing.a == 1 Esto se burla de DELAY_TIME como se usa tanto en la prueba como en Thing, que es lo que esperaba. Quería hacer esto para todas las pruebas en este archivo, así […]

¿Por qué el monkeypatch de Python no funciona al importar una clase en lugar de un módulo?

Estaba teniendo problemas al usar el código de la respuesta aceptada aquí . El código funciona dependiendo de cómo hago la importación de datetime. ¿Porqué es eso? ¿Es posible burlarse de él para que funcione en ambos sentidos? Estoy usando Python 3.4 . El siguiente código ilustra el problema: import pytest from datetime import datetime […]

ImportError: no se pueden importar ajustes de nombre

Estoy usando python 2.7.6 en Ubuntu 14.04.2 LTS. Estoy usando simulacros para simular algunas pruebas de unidad y me doy cuenta de que cuando imito simulacro, falla la importación de envolturas. ¿No estoy seguro de si hay una versión diferente de una simulacro o seis que debería usar para que funcione la importación? No se […]

Python SQLAlchemy – burlándose del método “desc” de un atributo de modelo

En mi aplicación, hay una clase para cada modelo que contiene consultas comúnmente utilizadas (supongo que es algo así como un “Repositorio” en lenguaje DDD). Cada una de estas clases recibe el objeto de sesión SQLAlchemy para crear consultas con la construcción. Estoy teniendo algunas dificultades para encontrar la mejor manera de afirmar que se […]

Clase burlona vs métodos

Quiero burlarme de un objeto python -psycopg2 – para probar mis clases. Cuando imprimo el objeto – dir(conn) , veo la conexión, extras, etc., todos en lista. conn = mock.MagicMock(psycopg2.connect) Resultado: [‘BINARY’, ‘Binary’, ‘DATETIME’, ‘DataError’, ‘DatabaseError’, ‘Date’, ‘DateFromTicks’, ‘Error’, ‘IntegrityError’, ‘InterfaceError’, ‘InternalError’, ‘NUMBER’, ‘NotSupportedError’, ‘OperationalError’, ‘ProgrammingError’, ‘ROWID’, ‘STRING’, ‘Time’, ‘TimeFromTicks’, ‘Timestamp’, ‘TimestampFromTicks’, ‘Warning’, ‘__builtins__’, ‘__doc__’, […]

Python se burla de no hacer llamadas

Estoy usando la biblioteca simulada para parchear una clase en un progtwig que se conecta a un recurso externo y envía una dictadura. La estructura va un poco como esta … code.py def make_connection(): connection = OriginalClass(host, port) connection.connect() connection.send(param) connection.close() test.py @mock.path(‘code.OriginalClass’) def test_connection(self, mocked_conn): code.make_connection() mocked_conn.assert_called_with(host, port) mocked_conn.connect.assert_called_once() mocked_conn.send.assert_called_with(param) El primer assert_called_with funciona […]

Burlándose de un solo método en un objeto

Estoy familiarizado con otras bibliotecas de burla en otros idiomas, como Mockito en Java, pero la biblioteca mock de Python me confunde la vida. Tengo la siguiente clase que me gustaría probar. class MyClassUnderTest(object): def submethod(self, *args): do_dangerous_things() def main_method(self): self.submethod(“Nothing.”) En mis pruebas, me gustaría asegurarme de que se haya llamado al main_method cuando […]

¿Alguna forma de restablecer un método simulado a su estado original? – Python Mock – simulacro 1.0b1

Tengo la siguiente clase simplificada de que me estoy burlando: class myClass(object): @staticmethod def A(): #… def check(self): #code… value = self.A() #more code… En mi primera prueba me burlo solo del método A from django.test import TestCase from mock import MagicMock import myClass class FirstTest(TestCase): def setUp(self): myClass.A = MagicMock(return_value = ‘CPU’) def test(self): […]

Burlándose de boto3 S3 método del cliente Python

Estoy tratando de burlarme de un método singular del objeto cliente de boto3 s3 para lanzar una excepción. Pero necesito todos los otros métodos para que esta clase funcione normalmente. Esto es para que pueda probar una prueba de excepción singular cuando se produce un error al realizar una upload_part_copy 1er bash import boto3 from […]