如何使用 jest 模拟 Node-Redis

2024-01-11

我在用jest https://github.com/facebook/jest并试图嘲笑节点redis https://github.com/NodeRedis/node-redis using redis模拟 https://github.com/yeahoffline/redis-mock.

// redis.js

const redis = require("redis");
const client = redis.createClient({ host: '127.0.0.1', port: 6379 });

// redis.test.js

const redisMock = require("redis-mock");

describe("redis", () => {
  jest.doMock("redis", () => jest.fn(() => redisMock));
  const redis = require("./redis");
});

当我运行测试时,出现错误

类型错误:redis.createClient 不是函数

我觉得我在使用时做错了什么jest.doMock().

将不胜感激您的帮助。


以下对我有用:

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

我不包括redis测试中根本没有库,但我仅将其包含在包含测试类的文件中。 (带有测试类的文件当然包含在测试文件中。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 jest 模拟 Node-Redis 的相关文章

随机推荐