【问题标题】:Can't mock a library value when snapshot testing with jest使用 jest 进行快照测试时无法模拟库值
【发布时间】:2019-05-23 10:03:16
【问题描述】:

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

export const browser = detect();

内部组件:

browser.name

我正在为此写一个测试(快照),我收到一个错误:

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

我猜这是因为我需要从这个库中存储一个模拟名称。我试过这样但总是出错

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

这应该如何正确模拟?还是我应该换一种方式?

【问题讨论】:

    标签: reactjs testing jestjs


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 1970-01-01
      • 2017-02-13
      • 1970-01-01
      • 2019-09-01
      • 2019-12-16
      • 2015-04-07
      • 2019-10-26
      • 2020-05-04
      相关资源
      最近更新 更多