Tenemos una aplicación Rails que probamos con RSpec. Queremos especificar las operaciones que dependen de Memcached. ¿Cuál es la mejor práctica para hacerlo?¿Cómo se especifican las operaciones que se basan en Memcached?
Pensé en hacer esto anulando todas las llamadas al Rails.cache
. ¿Es esta una buena idea?
Según @Pan Thomakos sugerencia, estoy añadiendo algunos detalles adicionales sobre uno de los escenarios que estoy tratando de prueba:
Tenemos el concepto de cuentas en nuestro sistema, por lo tanto, en cada petición recuperamos el usuario actual y la cuenta actual. Debido a que no hay muchas cuentas en el sistema, las guardamos todas en caché y las recuperamos desde allí.
def self.find_by_slug(slug)
Rails.cache.fetch(Account.cache_key_for_slug(slug), :expires_in => 1.day) { super }
end
Por esta razón, el almacenamiento en caché en este caso no es sólo un bonito tener un comportamiento, pero el comportamiento esperado y el que quiero probar. Por lo tanto, desactivar el almacenamiento en caché no funcionará.
Puede ser útil si proporciona más información sobre la dependencia que tiene en Memcached o algunas de las operaciones que está intentando probar. Siempre puede desactivar el almacenamiento en caché por completo para que sus pruebas ignoren por completo Rails.cache. ¿Es esto lo que estás buscando? –
Gracias. Revisé mi pregunta – arikfr