Estoy usando la biblioteca simulada escrita por Michael Foord para ayudarme con mis pruebas en una aplicación django. Me gustaría probar que estoy configurando mi consulta correctamente, pero no creo que deba realmente llegar a la base de datos, así que estoy tratando de burlarme de la consulta. Puedo burlarme bien de la primera parte […]
Estoy tratando de crear una prueba unitaria para la siguiente función: def my_function(path): #Search files at the given path for file in os.listdir(path): if file.endswith(“.json”): #Search for file i’m looking for if file == “file_im_looking_for.json”: #Open file os.chdir(path) json_file=json.load(open(file)) print json_file[“name”] Sin embargo, estoy teniendo problemas para crear un directorio falso con archivos para que […]
El título simplemente describía mi problema. Me gustaría burlarme de “_func_inner_1” con un valor de retorno específico. Gracias por cualquier consejo 🙂 código bajo prueba: from tornado.gen import coroutine, Return from tornado.testing import gen_test from tornado.testing import AsyncTestCase import mock @coroutine def _func_inner_1(): raise Return(1) @coroutine def _func_under_test_1(): temp = yield _func_inner_1() raise Return(temp + […]
Estoy tratando de parchear un método de clase usando simulacro como se describe en la documentación . El objeto Mock en sí mismo funciona bien, pero sus métodos no: por ejemplo, sus atributos como call_count no se actualizan, a pesar de que el atributo method_calls del objeto Mock clase sí lo está. Más importante aún, […]
Estoy tratando de escribir una prueba unitaria simple que verificará que, bajo ciertas condiciones, una clase en mi aplicación registrará un error a través de la API de registro estándar. No puedo averiguar cuál es la forma más limpia de probar esta situación. Sé que la nariz ya captura la salida de registro a través […]
Estoy tratando de entender la diferencia entre estos dos enfoques de burlarse de un método. ¿Alguien podría ayudar a distinguirlos? Para este ejemplo, yo uso la biblioteca passlib. from passlib.context import CryptContext from unittest import mock with mock.patch.object(CryptContext, ‘verify’, return_value=True) as foo1: mycc = CryptContext(schemes=’bcrypt_sha256′) mypass = mycc.encrypt(‘test’) assert mycc.verify(‘tesssst’, mypass) with mock.patch(‘passlib.context.CryptContext.verify’, return_value=True) as […]
Necesito probar el modelo de foto de mi aplicación Django. ¿Cómo puedo burlar el ImageField con un archivo de imagen de prueba? tests.py class PhotoTestCase(TestCase): def test_add_photo(self): newPhoto = Photo() newPhoto.image = # ?????? newPhoto.save() self.assertEqual(Photo.objects.count(), 1)
Tengo un código django que interactúa con objetos de solicitud u objetos de usuario. Por ejemplo, algo como: foo_model_instance = models.get_or_create_foo_from_user(request.user) Si fueras a probar con el shell django python o en una prueba de unidad, ¿qué pasarías allí? Aquí, simplemente, un objeto Usuario lo hará, pero la necesidad de un objeto de solicitud simulada […]
Quiero simular una función que se llama dentro de un método de clase mientras se prueba el método de clase en un proyecto de Django. Considera la siguiente estructura: app / utils.py def func(): … return resp # outcome is a HTTPResponse object app / models.py from app.utils import func class MyModel(models.Model): # fields def […]
mock.reset_mock() no restablecerá un iterador de efectos secundarios. ¿Hay una manera de hacer esto sin crear el simulacro de nuevo? >>> from mock import MagicMock >>> mock = MagicMock(side_effect = [1,2]) >>> mock(), mock() (1, 2) >>> mock() Traceback (most recent call last): File “”, line 1, in mock() File “C:\Python27\Lib\site-packages\mock.py”, line 955, in __call__ […]