执行测试时,每个测试都记录以下内容:
WARN: 'Could not find HammerJS. Certain Angular Material components may not work correctly.'
来自Angular Material Getting Started Guide:
某些组件(
md-slide-toggle
,md-slider
,mdTooltip
)依赖于HammerJS进行手势。为了获得这些组件的完整功能集,必须将HammerJS加载到应用程序中。
基于此,我的结论是我不需要安装HammerJS,因为我没有专门使用需要它的Angular Material组件。 如果您不需要,请不要添加它!
但是,在执行1000多个测试时,每次打印出的警告确实没有用,所以我想摆脱它或只打印一次。
答案 0 :(得分:1)
以下解决方案将:
new Hammer()
构造函数,请向控制台输出错误。enableProdMode()
,这样您就可以继续受益于双重更改检测所提供的其他错误检查。将以下beforeAll
函数添加到测试包中:
beforeAll(function() {
if (!window.hasOwnProperty('Hammer')) {
window['Hammer'] = function() {
console.error(
'HammerJS is not installed. If you\'re now using Angular Material components that require it, please "npm i hammerjs"'
);
};
console.warn('Could not find HammerJS. Certain Angular Material components may not work correctly.');
}
});