在javaScript測試框架jasmine介紹(一)中介紹了編寫jasmine測試腳本的語法結構和一些基本的框架特性,在(二)中筆者繼續介紹一些不是十分常用,但在某些場景的測試中可能會用到的框架特性。
先來介紹一下Spies:
Jasmine的測試替身被稱作spies,spy可以保存任何方法及方法參數的調用痕跡。jasmine有特殊的匹配器來保證spies之間的相互作用。
toHaveBeenCalled這個matcher當spy被調用過時返回true。toHaveBeenCalledWith當參數列表匹配上任何一次spy的調用記錄參數時返回true,下圖中其余spc都不難理解,只解釋,foo.setBar.calls.length為調用setBar的次數。
用andReturn和spy鏈接在一起,所有調用這個方法將返回一個特殊的value,如下圖紅框部分