SAP 电商云 Spartacus UI SSR 单元测试里的 callFake
callFake 的接口定義可以在 jasmine.js 里找到:
SpyStrategy.callFake, 返回 Spy 對象。
spy1 即 originalEngine,二者指向同一個對象實例:
只要 spy1 即 originalEngine 這個函數(shù)被調(diào)用,則返回 callFake 指定的 mock 版本的實現(xiàn):return originalEngineInstance,后者也是個 mock 對象。
engine 本身是 Spartacus SSR 標(biāo)準(zhǔn)的實現(xiàn),被 decorator 之后返回的新的函數(shù),可以執(zhí)行:
該函數(shù)通過閉包的方式,保存了輸入?yún)?shù) ngExpressEngine 的引用,而后者已經(jīng)被 mock 過了:
當(dāng)?shù)?0行調(diào)用這個 engine 函數(shù)時,
執(zhí)行的 ngExpressEngine 即是 mock 過的函數(shù) spy1:
spy1 一旦被調(diào)用,就會返回 mock 版本的函數(shù),即返回 originalEngineInstance 實例。
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP 电商云 Spartacus UI SSR 单元测试里的 callFake的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 炒海带怎么做
- 下一篇: jasmine.any(Function