Jest 测试框架 expect 和 匹配器 matcher 的设计原理解析
生活随笔
收集整理的這篇文章主要介紹了
Jest 测试框架 expect 和 匹配器 matcher 的设计原理解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
副標題:SAP Spartacus SSR 優化的單元測試分析之二 - 調用參數檢測
源代碼:
注意觀察 jest.Expect 的返回值:類型為 jest.JestMatchersShape
單步調試 expect 的調用過程:
從注釋看,該函數為 spec 創建一個 expectation, 傳入的 actual 為 spy 之后的版本。
構造一個 expectation,需要以上的參數。
緊接著調用 toHaveBeenCalledWith:
支持的所有方法,在 Chrome 開發者工具里能夠看到:
toHaveBeenCalledWith
執行到這里來了:
所有可用的匹配器 matchers,都定義在文件 jasmine.js 里:
因此,toHaveBeenCalledWith 也算匹配器 matchers 之一。
構造一個匹配器實例:
調用匹配器工廠,構造一個匹配器實例:
其實例的運行代碼如下圖所示:
比較實際被調用的參數,是否和期望被調用的參數完全一致。
進入數組的比較分支:
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的Jest 测试框架 expect 和 匹配器 matcher 的设计原理解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jest 测试框架 beforeEach
- 下一篇: 在Excel里如何将多个工作簿合并到一个