问题
问题来源于这篇文章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 的内部实现,也不用深究。
网友评论