Angular jasmine单元测试框架里spyOn的创建原理
2023-09-14 09:02:58 时间
准备针对handler的handleError方法创建spy:
保存原始方法的信息到变量originalMetho里:
利用spyFactory.createSpy创建spied版本的新方法:
wrap就是spyOn执行完毕后,原始被spied方法被取而代之的新方法:
如下图所示,handler的handleError方法已经被替换成了wrapper:
一旦执行上图的第40行代码,就进入wrap的执行逻辑:
因为调用的是wrapper,wrapper里有track逻辑:
所有被spy之后的方法调用都记录在calls里:
更多Jerry的原创文章,尽在:“汪子熙”:
相关文章
- [Angular] Modify User Provided UI with Angular Content Directives
- [Angular] $q.all()
- [Angular 8] Custom Route Preloading with ngx-quicklink and Angular
- [Angular] Increasing Performance by using Pipe
- [Angular] Short Imports with TypeScript Path Mapping
- [Angular & Unit Testing] Testing Component with Store
- [Angular 2] Set Properties on Dynamically Created Angular 2 Components
- [Angular 2] Component relative paths
- Angular框架里两个模块的互相依赖
- 关于 Angular 工程文件 angular.json 里的 inlineCritical 属性
- Angular 服务器端渲染的学习笔记(一)
- Angular单元测试框架beforeEach和it的执行顺序
- Angular jasmine单元测试框架fixture.detectChanges的实现原理
- Angular jasmine单元测试框架TestBed.createComponent的实现原理
- Angular jasmine单元测试框架里expect.toHaveBeenCalled的工作原理
- angular input 为file on-change 无效