sql >> Databasteknik >  >> NoSQL >> Redis

Stubbar Redis-interaktioner i javascript med Sinon

Vad du kan göra är att använda något som Proxyquire eller Rewire. Jag kommer att använda rewire för exemplet.

Ditt kodavsnitt du vill stubba:

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

Sedan i ditt test kan du använda 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);

På så sätt kan du få din redisClient utbytt och du kan kontrollera med spionen om funktionen anropades.



  1. Skapa en främmande nyckelrelation i Mongoose

  2. Hur kan jag använda en cursor.forEach() i MongoDB med Node.js?

  3. Mongoose flera anslutningar

  4. Hur man släpper en databas i MongoDB från kommandoraden