Angular 7:如何解决Jasmine单元测试中对Hammer.js的依赖



当为使用Material Slider并依赖于HammerJS的组件编写单元测试时,我看到了以下错误WARN LOG: 'The "slide" event cannot be bound because Hammer.JS is not loaded and no custom loader has been specified.'

我已经导入并添加了依赖项的提供程序:

import { BrowserModule, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';

但我每次测试都会犯同样的错误。如何解决此依赖关系?

好的,所以这是一个明显的修复。把这个留着,以防对其他人有用。

只需确保在单元测试中导入依赖项本身。在这种情况下,这是hammerjs,而不是您在应用程序模块中配置的在角度材料组件中使用它的提供者

因此,在您的spec测试文件中:

import 'hammerjs';

就是这样。这假设它安装在您的应用程序中并出现在package.json中,如果组件使用它,几乎可以肯定会这样做。

最新更新