Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何用jest模拟全局commonjs方法?_Javascript_Unit Testing_Jasmine_Jestjs - Fatal编程技术网

Javascript 如何用jest模拟全局commonjs方法?

Javascript 如何用jest模拟全局commonjs方法?,javascript,unit-testing,jasmine,jestjs,Javascript,Unit Testing,Jasmine,Jestjs,我试着开玩笑地测试一些基本的redux还原程序,但遇到了一个我自己无法解决的问题: 在我的reducer中,我引用了一个全局方法“_uu”(一些i18n的东西),其实现基本上如下所示: window.__ = function(foo) { return window.i18n[foo]; } /* global __ */ // some basic stuff export default () { return __('foobar'); } 上述方法在另一个模块中引用,我通过从“

我试着开玩笑地测试一些基本的redux还原程序,但遇到了一个我自己无法解决的问题:

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

window.__ = function(foo) { return window.i18n[foo]; }
/* global __ */
// some basic stuff
export default () {
  return __('foobar');
}
上述方法在另一个模块中引用,我通过
从“定义”导入定义,将其包含在我的reducer中

定义文件如下所示:

window.__ = function(foo) { return window.i18n[foo]; }
/* global __ */
// some basic stuff
export default () {
  return __('foobar');
}

如何在测试代码中模拟
\uuu
方法?由于
\uuuuuuuuuuuuuuuuuuuuuuuuu
不是一个模块,因此无法对其进行自动模拟:/

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

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