Я реализовал базовую функциональность кэширования для проекта и столкнулся с проблемой во время тестирования.
Я тестирую, используя jest и redis-mock, и все тесты проходят.
Проблема в том, когда я импортирую файл, который импортирует redis-файл.
Тестовый файл не завершается.
Пример:
index.test.js
import redis from 'redis'
import redis_mock from 'redis-mock'
jest.spyOn(redis, 'createClient').mockImplementation(red_mock.createClient)
import fileUsingRedis from './index'
describe('index', () => {
it('should pass', () => expect(true).toBeTruthy())
}
index.js
import {set} from './redis'
export default function ...
redis.js
import redis from 'redis'
const client = redis.createClient()
export function set(key, value) {...}
'1 пройдено' ... 'Выполнены все соответствующие тестовые наборы ...'
Но затем он продолжает ждать, я полагаю, потому что redis.createClient () является асинхронным или что-то или другое. Видя, как это происходит при импорте, я не могу просто решить это.
Нужно ли закрывать соединение с экземпляром redis после каждого теста?
Какое решение / лучшие практики здесь?