Redis
 sql >> Base de données >  >> NoSQL >> Redis

Remplacer les interactions Redis en javascript en utilisant Sinon

Ce que vous pourriez faire, c'est utiliser quelque chose comme Proxyquire ou Rewire. Je vais utiliser rewire pour l'exemple.

L'extrait de code que vous souhaitez remplacer :

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

Ensuite, dans votre test, vous pouvez utiliser 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 cette façon, vous pouvez faire remplacer votre redisClient et vous pouvez vérifier avec l'espion si la fonction a été appelée.