Angular jasmine spied Method toHaveBeenCalled的执行原理
2023-09-14 09:04:02 时间
语法:expect(传入一个被spied后的方法).matcher检查
el.focus是spied method:
expect函数返回的是一个matcher:
进行toHaveBeenCalled的matcherFactory:
Expector原型链上的compare方法逻辑:首先生成一个matcher实例,然后使用apply的方式动态调用之:
spy函数的and属性就是SpyStrategy,其Plan属性返回的就是andReturnValue里指定的值。
calls属性就是调用tracker.
expect(wrapped spied method)返回的expectation,是否通过,取决于toHaveBeenCalled方法里第735行:
只要calls里至少有一条记录,expectation就算pass:
更多Jerry的原创文章,尽在:“汪子熙”:
相关文章
- angular debounce throttle「建议收藏」
- Angular 结合 dygraphs 实现 annotation
- Angular和Vue.js 深度对比
- 关于 SAP Spartacus Angular HTTP Interceptor 的拦截顺序
- 关于 Angular HttpClient 的单例特性的思考
- vue相比jquery_angular和vue哪个厉害
- Angular 14 inject 函数使用过程中的一些注意事项
- 关于 Angular Universal 应用执行时需要 Browser API 的问题
- Angular Universal 应用避免 SSR hang 的一些指导方针
- 干货 | 一文搞懂在AlmaLinux上安装Angular JavaScript框架
- Angular 模块封装概念常见的错误理解
- 关于 Angular 应用对浏览器 Back 按钮支持问题的讨论
- Angular 项目中 angular.json builder 字段的可选项介绍
- Angular和jQuery的区别