【问题标题】:How to mock a global commonjs method with jest?如何用 jest 模拟全局 commonjs 方法?
【发布时间】:2016-05-20 17:58:54
【问题描述】:

我尝试用 jest 测试一些基本的 redux reducer,但偶然发现了一个我自己无法解决的问题:

在我的减速器中,我引用了一个全局方法“__”(一些 i18n 的东西),它的实现基本上如下所示:

window.__ = function(foo) { return window.i18n[foo]; }

提到的方法在我通过import definitions from 'definitions';包含在我的减速器中的另一个模块中引用

定义文件如下所示:

/* global __ */
// some basic stuff
export default () {
  return __('foobar');
}

如何在测试代码中模拟__ 方法?鉴于__ 不是一个模块,它不能被自动模拟。 :/

【问题讨论】:

    标签: javascript unit-testing jasmine jestjs


    【解决方案1】:

    您可以使用以下语法来模拟全局__ 方法:

    global.__ = function(foo) { return foo; };
    

    【讨论】:

      猜你喜欢
      • 2019-11-22
      • 2015-04-22
      • 2017-03-19
      • 1970-01-01
      • 2020-03-31
      • 2018-12-15
      • 2021-11-30
      • 2018-08-08
      • 2021-12-08
      相关资源
      最近更新 更多