Trabajando con BackgroundDRB en el entorno de test
BackgrounDRB es un proyecto en desarrollo que pretende crear un servicio estable para ejecutar tareas en segundo plano, sin que estas entorpezcan la navegación del usuario por la aplicación, relentizando sus tiempos de respuesta.
La verdad es que era un completo desconocido para mí hasta que encontré la presentación de Sergio Espeja en la conferencia de Rails: Tareas en background con RoR y BackgrounDRb.
En este año que ha pasado, hay una nueva versión que corrige algunos fallos y deja otros abiertos, pero que es, dicen, bastante estable. Y la verdad es que con la anterior tuve muchos problemas para crear mis workers pero con esta estoy encantado.
Pero este post no era para hablar de las bondades del proyecto, que son muchas, sino para contar cómo hacer que en los tests no necesitemos tener lanzado un servidor BackgroundDRB para que estos funcionen, sino que podemos utilizar un mock.
He encontrado uno entre los tickets del proyecto, y que se ve que aún no está incluído en la última versión.
Basta con descargarlo en test/mocks/test e incluir la siguiente línea en el test_helper.rb:
require File.dirname(__FILE__) + '/mocks/test/backgroundrb_mock.rb'
Y voilá, tests funcionando de nuevo.
