Я написал модуль, который использует ioredis и некоторые тесты, чтобы пойти вместе с ним.
Проблема в том, что, когда я подключаю ioredis в кластерном режиме, mocha зависает после завершения, даже еслиЯ звоню redis.disconnect()
.
Кажется, что-то все еще связано с циклом событий.
Вот мой тест:
it('connects to redis cluster mode', async () => {
//redisClientFactroy is my module
let redisClientFactory = redisClientFactoryInit({
host: 'localhost',
port: 7000
})
// it returns a redis.cluster instance if it recognizes it
// 'redis' here is a cluster client
let redis = await redisClientFactory.createClient()
await redis.set('took123', 1);
let took = await redis.get('took123')
expect(took).to.eql('1')
let nodes = redis.nodes()
await Promise.all(nodes.map((node) => {
node.disconnect()
console.log("node disconnected")
}))
redis.disconnect()
//tests are marked as done and passing, but mocha does not exit
})