我正在用mocha测试一个模块,场景是一个小类,它有方法,有一个必需的回调参数。
当我在第一个describe
上运行测试时,它得到了预期的结果,当它在第二个和第三个describe
,beforeEach
和afterEach
上运行时,类实际上创建了一个新的redis客户端,并在它应该结束时调用end()
。
client.hget('profile:1','name',function(error,profileID){ /* <= profileID value is QUEUED */
console.log(profileID); //<= QUEUED
});
为什么回调将
QUEUED
作为其参数的值?它不会抛出任何错误。 最佳答案
尝试添加
if (error) console.log(error);
或者更适合调试:
client.hget('profile:1','name',redis.print);
redis不会抛出异常,除非你告诉它,否则我已经解释了这些异常会杀死进程。
这取决于您的代码,但您可能需要等待
connect
或idle
事件类似于:
client.on("idle",function(){
//Your code here
});