sql >> Base de Datos >  >> NoSQL >> Redis

Stubbing de interacciones de Redis en javascript usando Sinon

Lo que podría hacer es usar algo como Proxyquire o Rewire. Usaré rewire para el ejemplo.

Su fragmento de código que desea agregar:

var redisClient = redis.createClient(redisPort, redisHost);
var someValue = redisClient.get("someKey");
return someValue;

Luego, en su prueba, puede usar rewire:

var Rewire = require('rewire');

var myModule = Rewire("../your/module/to/test.js");

var redisMock = {
    get: sinon.spy(function(something){
             return "someValue";
         });
};

myModule.__set__('redisClient', redisMock);

De esta manera, puede reemplazar su redisClient y puede verificar con el espía si se llamó a la función.