【发布时间】:2016-07-19 12:51:00
【问题描述】:
我用 redis 编写 nodejs 应用程序。我想在单元测试中模拟我的 redis 连接。我使用 fakeredis 模块来存根我的数据。 但是我无法在测试中创建 redis 密钥。我可以在测试中获取所有键,但它们在代码中不可用。
好像我的代码没有连接到 fakeredis 实例。 我尝试设置端口和主机,还尝试了另一个模块redis-mock。
应用:
var redis = require('redis');
var redisClient = redis.createClient(6379, '127.0.0.1', {});
redisClient.keys('*', function(error, reply){
console.log('KEYS', reply); // Problem: it's empty array
});
规格:
var assert = require('chai').assert;
var fakeredis = require('fakeredis');
var fakeredisClient;
before(function() {
fakeredisClient = fakeredis.createClient();
});
beforeEach(function() {
// Mock data - Set random keys
fakeredisClient.set('FOO', 'BAR');
});
afterEach(function(done){
fakeredisClient.flushdb(function(err, reply){
assert.ok(reply);
done();
});
});
【问题讨论】:
标签: node.js unit-testing redis