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