Javascript 如何用jest模拟全局commonjs方法?
我试着开玩笑地测试一些基本的redux还原程序,但遇到了一个我自己无法解决的问题: 在我的reducer中,我引用了一个全局方法“_uu”(一些i18n的东西),其实现基本上如下所示: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'); } 上述方法在另一个模块中引用,我通过从“
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; };