Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Stubbing von Redis-Interaktionen in Javascript mit Sinon

Was Sie tun könnten, ist etwas wie Proxyquire oder Rewire zu verwenden. Ich werde für das Beispiel rewire verwenden.

Ihr Codeausschnitt, den Sie stubben möchten:

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

Dann können Sie in Ihrem Test rewire:

verwenden
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);

Auf diese Weise können Sie Ihren redisClient ersetzen lassen und mit dem Spion überprüfen, ob die Funktion aufgerufen wurde.