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

     2023-05-09     298

关键词:

【中文标题】Angular 7:如何在 Jasmine 单元测试中解决 Hammer.js 依赖项【英文标题】:Angular 7: How to resolve Hammer.js dependency in Jasmine unit test 【发布时间】:2020-11-03 06:31:24 【问题描述】:

在为使用 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';

但我在每次测试中仍然得到相同的错误。如何解决这种依赖关系?

【问题讨论】:

【参考方案1】:

好的,结果证明这是一个明显的解决方法。只是留下这个,以防它对其他人有用,因为在这个错误字符串上的谷歌搜索出现零结果。

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

所以,在您的 spec 测试文件中:

import 'hammerjs';

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

【讨论】:

在 Angular 中使用 Jasmine 使用 *ngIf 指令时,如何对元素是不是可见进行单元测试

】在Angular中使用Jasmine使用*ngIf指令时,如何对元素是不是可见进行单元测试【英文标题】:HowdoIunittestifanelementisvisiblewhenthe*ngIfdirectiveisusedusingJasmineinAngular在Angular中使用Jasmine使用*ngIf指令时,如何对元素是否可见进行单元测试【... 查看详情

如何使用 Jasmine 为私有方法编写 Angular / TypeScript 单元测试

】如何使用Jasmine为私有方法编写Angular/TypeScript单元测试【英文标题】:HowtowriteunittestingforAngular/TypeScriptforprivatemethodswithJasmine【发布时间】:2016-06-2911:06:28【问题描述】:如何在Angular2中测试私有函数?classFooBarprivate_status:number;co... 查看详情

如何在不使用 Angular 的 spyOn 的情况下检查服务中的方法是不是在 Jasmine 单元测试中被调用?

】如何在不使用Angular的spyOn的情况下检查服务中的方法是不是在Jasmine单元测试中被调用?【英文标题】:HowtocheckifamethodfromaserviceiscalledornotinJasmineunittestingwithoutusingspyOninAngular?如何在不使用Angular的spyOn的情况下检查服务中的方法... 查看详情

使用 Jasmine 进行 Angular 单元测试:如何删除或修改 spyOn

】使用Jasmine进行Angular单元测试:如何删除或修改spyOn【英文标题】:AngularunittestingwithJasmine:howtoremoveormodifyspyOn【发布时间】:2015-05-0311:55:14【问题描述】:AngularJSv1.2.26茉莉花v2.2.0如何更改或删除spyOn的行为?当我尝试覆盖它时... 查看详情

Jasmine 使用 Angular 中的 TypeScript 对文件大小进行单元测试

】Jasmine使用Angular中的TypeScript对文件大小进行单元测试【英文标题】:JasmineunittestforfilesizewithTypeScriptinAngular【发布时间】:2019-01-1513:27:13【问题描述】:寻找最佳实践如何在inputtype="file"更改事件上测试文件大小。现在我的测试... 查看详情

如何使用 Angular 4 Jasmine 单元测试用例覆盖 IF/ELSE 条件

】如何使用Angular4Jasmine单元测试用例覆盖IF/ELSE条件【英文标题】:HowtocoverIF/ELSEconditionwithAngular4Jasmineunittestcase【发布时间】:2018-05-2419:55:23【问题描述】:帮助我覆盖IF/Else覆盖范围和返回HTTP响应的方法以及构造函数以覆盖Jasmin... 查看详情

使用 jasmine / karma 进行 Angular 4 单元测试和 http post mocking - 如何修复

】使用jasmine/karma进行Angular4单元测试和httppostmocking-如何修复【英文标题】:Angular4unittestingwithjasmine/karmawithhttppostmocking-howtofix【发布时间】:2018-03-0708:01:12【问题描述】:我有一项服务,我想在Angular4typescriptjasmine中进行单元测试... 查看详情

如何模拟在 AngularJS Jasmine 单元测试中返回承诺的服务?

】如何模拟在AngularJSJasmine单元测试中返回承诺的服务?【英文标题】:HowdoImockaservicethatreturnspromiseinAngularJSJasmineunittest?【发布时间】:2014-07-0511:36:08【问题描述】:我有myService使用myOtherService,它进行远程调用,返回承诺:angula... 查看详情

如何使用 angular9 和 Jasmine 为所有组件生成 .pdf 格式的单元测试用例代码覆盖率报告

】如何使用angular9和Jasmine为所有组件生成.pdf格式的单元测试用例代码覆盖率报告【英文标题】:Howtogenerateunittestcasecodecoveragereportin.pdfforallcomponentsusingangular9andJasmine【发布时间】:2021-06-2104:04:18【问题描述】:.html格式的Angular支... 查看详情

如何在 Jasmine 单元测试中使用 Sinon 对 jQuery 动画进行假时间?

】如何在Jasmine单元测试中使用Sinon对jQuery动画进行假时间?【英文标题】:HowdoIfake-timeajQueryanimationusingSinoninaJasmineunittest?【发布时间】:2011-11-1113:10:27【问题描述】:我有一个1秒的jQuery.animate操作,在页面加载后5秒启动。我在Ja... 查看详情

Angular Karma Jasmine 单元测试在 afterAll TypeError 中引发错误:users.forEach 不是函数

】AngularKarmaJasmine单元测试在afterAllTypeError中引发错误:users.forEach不是函数【英文标题】:AngularKarmaJasmineUnitTestAnerrorwasthrowninafterAllTypeError:users.forEachisnotafunction【发布时间】:2021-12-2711:57:43【问题描述】:我是下面代码的单元测... 查看详情

如何在 Angular 中使用 Jasmine 测试 RxJS switchMap?

】如何在Angular中使用Jasmine测试RxJSswitchMap?【英文标题】:HowtotestRxJSswitchMapwithJasmineinAngular?【发布时间】:2022-01-1611:45:10【问题描述】:在我的Angular项目中,我的一个组件中有这段代码:delete(post:PostInterface):voidconstdelete$=this.app... 查看详情

使用 Karma Jasmine 的 Angular 1.5 组件模板单元测试

】使用KarmaJasmine的Angular1.5组件模板单元测试【英文标题】:Angular1.5ComponenttemplateunittestwithKarmaJasmine【发布时间】:2017-09-1522:06:34【问题描述】:我正在尝试使用KarmaJasmine对Angular组件和模板进行单元测试。我正在使用ng-html2js测试... 查看详情

如何使用 karma/jasmine 在 angularAMD 中模拟服务?

】如何使用karma/jasmine在angularAMD中模拟服务?【英文标题】:HowtomockserviceinangularAMDwithkarma/jasmine?【发布时间】:2014-12-1223:44:13【问题描述】:我有一个使用AngularAMD/RequireJS/Karma/Jasmine的项目,我的基本配置一切正常,大多数单元... 查看详情

如何使用 Angular 和 Jasmine 模拟 socket.io

】如何使用Angular和Jasmine模拟socket.io【英文标题】:Howtomocksocket.iowithAngularandJasmine【发布时间】:2015-05-0422:40:53【问题描述】:我无法弄清楚如何使用Jasmine和Karma在Angular应用程序中正确模拟Socket.io。这是在karma.conf.js中找到的文... 查看详情

输入 [type="file"] 的 Angular 和 Jasmine 单元测试更改事件

】输入[type="file"]的Angular和Jasmine单元测试更改事件【英文标题】:Angular&JasmineUnitTestchangeeventforinput[type="file"]【发布时间】:2019-01-2822:34:41【问题描述】:我正在尝试100%的测试覆盖率,但我似乎无法测试这个onUp... 查看详情

如何在 jasmine 中编写单元测试用例?

】如何在jasmine中编写单元测试用例?【英文标题】:Howtowriteunittestcaseinjasmine?【发布时间】:2021-07-1110:27:36【问题描述】:Flag(a)letelement=this.selected.filter(item=>item.a===a)returnelement.length>1?true:false;不确定如何为上述函数编写单元... 查看详情

Angular2 单元测试与@Input()

】Angular2单元测试与@Input()【英文标题】:Angular2unittestwith@Input()【发布时间】:2016-08-0721:07:41【问题描述】:我有一个在实例变量上使用@Input()注释的组件,我正在尝试为openProductPage()方法编写单元测试,但我对如何设置单元有点... 查看详情