Angular Jest外部库使用要求(';jquery';),但返回未定义
你好 我使用Angular CLI测试Angular 4应用程序,该应用程序使用依赖于jQuery的 问题 问题是Materialize扩展了jQuery,为此它调用Angular Jest外部库使用要求(';jquery';),但返回未定义,angular,jestjs,Angular,Jestjs,你好 我使用Angular CLI测试Angular 4应用程序,该应用程序使用依赖于jQuery的 问题 问题是Materialize扩展了jQuery,为此它调用require('jQuery'),但当我使用Jest运行测试时,它返回undefined if(typeof(jQuery)==“未定义”){ var-jQuery; //检查require是否是已定义的函数。 if(类型(要求)==“功能”){ jQuery=$=require('jQuery'); //否则使用美元符号别名。
require('jQuery')
,但当我使用Jest运行测试时,它返回undefined
if(typeof(jQuery)==“未定义”){
var-jQuery;
//检查require是否是已定义的函数。
if(类型(要求)==“功能”){
jQuery=$=require('jQuery');
//否则使用美元符号别名。
}否则{
jQuery=$;
}
}
我的实际设置
我在这样嘲笑jQuery
import*作为$from'jquery/dist/jquery';
defineProperty(窗口“$”,{value:$});
defineProperty(窗口,'jQuery',{value:$});
在模拟jQuery之后导入Materialize,如下所示
import'materializecss/dist/js/materialize';
我的期望
由于Materialize扩展了jQuery,并且应用程序组件正在使用扩展的方法,因此需要正确加载它(包括jQuery),以便测试不会失败
非常欢迎任何帮助,并提前感谢您的时间 我觉得自己很傻,但如果有人遇到同样的问题,对我来说,将Jest Preset Angular更新到v2.0.5,将Jest JUnit更新到v2.1.0解决了这个问题