Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Stubbing interações Redis em javascript usando Sinon


O que você pode fazer é usar algo como Proxyquire ou Rewire. Eu estarei usando rewire para o exemplo.

Seu snippet de código que você deseja stub:
var redisClient = redis.createClient(redisPort, redisHost);
var someValue = redisClient.get("someKey");
return someValue;

Então, no seu teste, você pode usar o 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);

Desta forma, você pode ter seu redisClient substituído e pode verificar com o espião se a função foi chamada.