jasmine.objectContaining 的单步调试
裝飾好的 engine 調(diào)用 setup options:
engine 指的是下圖這段綠色代碼:
現(xiàn)在準(zhǔn)備執(zhí)行下面這段代碼了:
準(zhǔn)備調(diào)用被 mock 過(guò)的 engine 函數(shù):
即下圖 1 的函數(shù):
只要 spy 被調(diào)用,其調(diào)用時(shí)傳入的參數(shù),必定可以被記錄:
看這段代碼:
jasmine.objectContaining 的適用場(chǎng)合:
jasmine.objectContaining 用于那些期望只關(guān)心實(shí)際中的某些鍵/值對(duì)的時(shí)候。
把這段代碼改造一下:
it(`should pass setup options to the original engine`, () => {const jerry = jasmine.arrayContaining([{ provide: 'testToken', useValue: 'testValue' },]);expect(originalEngine).toHaveBeenCalledWith(jasmine.objectContaining({bootstrap: 'TestModule',providers: jerry}));});jasmine.objectContaining 返回的類型為:jasmine.ArrayContaining
ArrayContaining 類型定義如下:
單步調(diào)試:
返回的是一個(gè)新的 matcher?
就是一個(gè)簡(jiǎn)單的構(gòu)造器:
而 objectContaing 的邏輯類似,也是一個(gè)簡(jiǎn)單的構(gòu)造器。
把這兩個(gè)對(duì)象進(jìn)行比較:
實(shí)際參數(shù):
最后返回 true:
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的jasmine.objectContaining 的单步调试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 插头DP小结_dp插头接线标准
- 下一篇: SAP 电商云 Spartacus UI