天翼云代理,天翼云代理商,北京代理商
天翼云2.5折专线:18510009100/18510009200(全国市话)

SAP 电商云 Spartacus UI SSR 单元测试里的 callFake

2021-12-06 11:21:43

callFake 的接口定义可以在 jasmine.js 里找到:


image.png


SpyStrategy.callFake, 返回 Spy 对象。


image.pngimage.png

spy1 即 originalEngine,二者指向同一个对象实例:

image.png


只要 spy1 即 originalEngine 这个函数被调用,则返回 callFake 指定的 mock 版本的实现:return originalEngineInstance,后者也是个 mock 对象。


engine 本身是 Spartacus SSR 标准的实现,被 decorator 之后返回的新的函数,可以执行:

image.png

该函数通过闭包的方式,保存了输入参数 ngExpressEngine 的引用,而后者已经被 mock 过了:


image.png

当第50行调用这个 engine 函数时,

image.png

执行的 ngExpressEngine 即是 mock 过的函数 spy1:

image.png

spy1 一旦被调用,就会返回 mock 版本的函数,即返回 originalEngineInstance 实例。

image.png

12年经验 · 提供上云保障

服务热线:132-6161-6125(手机) 400-150-1900(全国市话)

站内导航: 天翼云服务器价格| 天翼云购买流程| 天翼云代理| 北京天翼云代理商| 杭州天翼云代理| 深圳天翼云代理商| 钉钉代理商| 阿里云代理| 公司官网

我公司收款账号| 天翼云备案系统

CopyRight © 2019 天翼云代理商. All Rights Reserved 京ICP备2024071855号-7 管理-北京优胜智连科技有限公司