UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Redis】Redisクライアントをモック化したい

Redisを使っているプロジェクトでJestでテストが失敗するのでRedisをモック化したい

調べたらredis-mockがよさそう

www.npmjs.com

基本的な使い方

import redis from 'redis-mock'
jest.mock('redis', () => redis)

毎回これを記述するのは大変なのでjest.config.jssetupFilesAfterEnvで自動でモック化するようにする

jest.config.js

module.exports = {
    // other properties...
    setupFilesAfterEnv: ['./jest.setup.redis-mock.js'],
};

jest.setup.redis-mock.js

jest.mock('redis', () => jest.requireActual('redis-mock'));