首页 > 解决方案 > 使用 useIntl 模拟 react-intl

问题描述

我在我的组件中使用了 useIntl 挂钩。在我的测试中,我在 src/ mocks目录中的 react-intl.js 文件中模拟了 useIntl 。同样在这个文件中,我模拟了许多其他组件中使用的 defineMessages。

src/ mocks /react-intl.js 中带有 defineMessages 的 mock部分看起来像

export const defineMessages = jest.fn(() => ({
  defineMessages: jest.fn((...args) => JSON.stringify(args))
}));

useIntl 的模拟看起来一样,它可以工作。

问题是当我开始测试时,我在使用 defineMessages 的地方得到了未定义。错误在哪里?

标签: reactjsmockingjestjsreact-intl

解决方案


帮助我解决问题的代码。

export const defineMessages = jest.fn(message => message);

推荐阅读