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