SAP 电商云 Spartacus UI SSR 单元测试里的 callFake
2023-09-14 09:02:53 时间
callFake 的接口定义可以在 jasmine.js 里找到:
SpyStrategy.callFake, 返回 Spy 对象。
spy1 即 originalEngine,二者指向同一个对象实例:
只要 spy1 即 originalEngine 这个函数被调用,则返回 callFake 指定的 mock 版本的实现:return originalEngineInstance,后者也是个 mock 对象。
engine 本身是 Spartacus SSR 标准的实现,被 decorator 之后返回的新的函数,可以执行:
该函数通过闭包的方式,保存了输入参数 ngExpressEngine 的引用,而后者已经被 mock 过了:
当第50行调用这个 engine 函数时,
执行的 ngExpressEngine 即是 mock 过的函数 spy1:
spy1 一旦被调用,就会返回 mock 版本的函数,即返回 originalEngineInstance 实例。
更多Jerry的原创文章,尽在:“汪子熙”:
相关文章
- SAP UI5 Fiori Elements Smart Control 组成部分介绍
- SAP UI5 sap.ui.layout.Grid 控件概述
- SAP UI5 应用中的 sap.ui.require 使用场景
- SAP UI5 sap.ui.base.ManagedObject 的构造函数参数讲解
- SAP UI5 sap.ui.export.Spreadsheet API 介绍
- SAP UI5 sap.ui.Device.media 的使用介绍
- SAP UI5 OData 模型(V2) 的使用方法介绍
- 通过一个实际例子,理解 SAP UI5 sap.ui.model.odata.v2.ODataModel API 中 BindingContext 绑定上下文的概念和用法试读版
- [ChatGPT 勘误] SAP UI5 的 sap.ui.base.Object
- 澄清一些对 SAP UI5 响应式表格 sap.m.Table 的常见理解误区试读版
- Oracle购买SAP: 开启新数据时代(oracle收购sap)
- 深入比较:SAP vs Oracle(sap和oracle)
- SAP可以创建预留的移动类型详解编程语言
- SAP MM(物料管理)常用事务代码T-Code详解编程语言
- 界面优化Linux UI界面优化提升体验(linux的ui)
- 对比:Oracle 与 SAP的优势(oracle 与 sap)
- Oracle 与 SAP深度对比分析(oracle sap对比)