Redis
 sql >> Database >  >> NoSQL >> Redis

Stubbing delle interazioni Redis in javascript usando Sinon

Quello che potresti fare è usare qualcosa come Proxyquire o Rewire. Userò rewire per l'esempio.

Il tuo frammento di codice che vuoi stub:

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

Quindi nel tuo test puoi usare 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);

In questo modo puoi far sostituire il tuo redisClient e puoi verificare con la spia se la funzione è stata chiamata.