sto lavorando in node.js. La mia app interagisce con Redis tramite il modulo node_redis
. Sto usando mocha e sinon per automatizzare i test della mia app. La mia app ha un aspetto simile al seguente:interazioni Stubbing Redis in JavaScript utilizzando Sinon
...snip
var redisClient = redis.createClient(redisPort, redisHost);
var someValue = redisClient.get("someKey");
return someValue;
....
Desidero interrompere la chiamata a redisClient.get(). Per fare questo ho anche bisogno di stub la chiamata a redis.createClient() - credo ... Ecco il mio codice di prova:
...
var redis = require("redis");
var redisClient;
...
sinon.stub(redisClient, 'get').returns("someValue");
sinon.stub(redis, "createClient").returns(redisClient);
...
assert.equal(redis_client_underTest.call_to_redis(), "someValue");
...
Il test fallisce con AssertionError: false == "someValue"
Come faccio a spegnere redisClient
, o è anche possibile?
La variabile redisClient deve essere esposta? Oppure questo può riconnettere variabili private anche nei moduli? – Scotty
@Scotty Sì, può ricablare anche variabili private. :) – Osukaa
Cambio di gioco! Grazie mille! : D – Scotty