答网友提问:为什么语句 var oModel = this.st

2022-05-05  本文已影响0人  华山令狐冲

问题

问题来源于这篇文章SAP UI5 应用开发教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍网友的评论。

解答

打开 Chrome 开发者工具的 Sources 面板,找到 formatter.js 文件,我们把鼠标放在 formatter.js 文件上,

就会看到一个弹出框,上面的字段 FunctionLocation 显示了这个 stub 函数的实现位置,位于 sinon.js 文件里。

sinon 是一个著名的前端测试 Mock 框架,在笔者的汪子熙纪念特洛伊英雄 Sinon - SAP UI5 Mock Server 使用步骤和工作原理介绍里有详细介绍。

我们在第 20 行代码设置断点:

然后点击 Chrome 调试器的 Step Into 按钮,或者快捷键 F11,进入 stub 函数内部:

从而进入 sinon.js 文件的 stub 函数实现内部,这里使用了 JavaScript function 原型链上的原生方法 apply 来调用函数。再按 F11:


进入 3144 行,再点击 F11:


这里的 c.create(n), 即是 stub 对象实例的创建(create). 当然这些 sinon 的内部实现,也不用深究。

上一篇 下一篇

猜你喜欢

热点阅读