zl程序教程

您现在的位置是:首页 >  前端

当前栏目

Angular jasmine单元测试框架里spyOn的创建原理

Angular框架原理 创建 单元测试 Jasmine
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的原创文章,尽在:“汪子熙”: