使用Jest进行快照测试时无法模拟库值

时间:2019-05-23 10:03:17

标签: reactjs testing jestjs

我在React组件中使用`detect-browser'库。我有以下内容:

export const browser = detect();

内部组件:

browser.name

我正在为此做一个测试(快照),但收到错误消息:

  

TypeError:无法读取null的属性“名称”

这是我猜到的,因为我需要从该库中存储一个模拟名称。我尝试过这种方法,但始终会出错

jest.mock('detect-browser', () => () => ({
  detect: () => {browser{name: 'edge'}},
}));

应如何正确模拟呢?还是我应该采用其他方式?

1 个答案:

答案 0 :(得分:2)

您只是错误地返回了浏览器对象。应该是:

jest.mock('detect-browser', () => ({
  detect: () => ({ browser: { name: 'edge' } }),
}));