6
나는 node.js에서 일하고 있습니다. 내 앱은 node_redis
모듈을 통해 Redis와 상호 작용합니다. 내 응용 프로그램의 테스트를 자동화하기 위해 모카와 사인을 사용하고 있습니다. 내 응용 프로그램은 다음과 같은 :Sinon을 사용하여 자바 스크립트에서 스태 빙 Redis 상호 작용
...snip
var redisClient = redis.createClient(redisPort, redisHost);
var someValue = redisClient.get("someKey");
return someValue;
....
내가 redisClient.get에 전화를() 스텁하고자합니다. -이를 위해 나는 또한 redis.createClient에 대한 호출을 스텁 필요() 내가 생각 ... 여기 내 테스트 코드입니다 :
...
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");
...
시험은 내가 redisClient
밖으로 스텁 어떻게 AssertionError: false == "someValue"
실패, 또는 심지어 이것이 가능한가?
redisClient 변수가 노출되어야합니까? 또는 모듈에서 사설 변수를 다시 연결할 수 있습니까? – Scotty
@Scotty 그래, 개인 변수도 다시 연결할 수 있습니다. :) – Osukaa
게임 체인저! 정말 고마워! :디 – Scotty