Durante mucho tiempo he estado utilizando colas de tareas en App Engine para programar tareas, tal como se supone que debo hacer.Cola de tareas de prueba unitarias en AppEngine
Pero lo que siempre me he preguntado es ¿cómo se escriben las pruebas para eso? Hasta ahora, simplemente hice pruebas para asegurarme de que no ocurra un error en la API que pone en cola una tarea y luego escribí las pruebas más adecuadas para la API que ejecuta la tarea.
Sin embargo, últimamente he empezado a sentirme un poco insatisfecho con esto y estoy buscando una forma de probar realmente que la tarea correcta se haya agregado a la cola correcta. Con suerte, esto se puede hacer mejor que simplemente desplegando el código y esperando lo mejor.
Estoy usando django-nonrel, si eso tiene alguna relación con la respuesta.
Recapitulación: ¿Cómo se puede escribir una prueba de unidad para confirmar que las tareas se han puesto en cola?
Esto parece que va a hacer el truco. ¡Gracias! –
Puede usar 'self.get_tasks' y' task ['decoded_body'] 'como acceso directo si está utilizando todos los casos de prueba base (https://github.com/jgeewax/gaetestbed/blob/master/gaetestbed/ taskqueue.py). Además, espero que sea una parte de google.appengine.ext.testbed pronto. Hay un método 'get_filtered_tasks' que funciona muy parecido a' get_tasks' (https://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/taskqueue/taskqueue_stub.py # 2453) –
Ver mi respuesta: esta biblioteca ahora está en desuso en favor de ext.testbed (https://developers.google.com/appengine/docs/python/tools/localunittesting) –