jasmine實例03

js中最多見的一種消息彈框alert(),咱們在測試alert()的時候,就出現了一種困惱,就是咱們既要去走這個alert(),有不想讓這個alert()彈出去阻礙咱們其餘的測試效果,因此咱們在研究這個的時候有了如下的操做,函數

    源代碼:測試

            alert(resultErrorMessage);spa

    測試代碼:asm

            //測試前準備
jasmine

            spyOn(window, "alert");co

            //結果斷言源代碼

            expect(window.alert).toHaveBeenCalled();消息

    大 家能夠看出,我在第一部分就講到了這個jasmine中最重要的一個函數spyOn(),實例中就用到了這個,咱們能夠這樣去理解這個,spyOn()函 數就是一個去監視的函數,他能夠再配合許多的函數去作一些靈活的操做,咱們這個裏面所用到的是一個監視不調用的操做,意思就是當代碼走到了alert() 的時候,這個函數就給他攔截住了,而後在alert()彈出的時候給他阻止住了,並且還能夠記住他有這個彈出的動做,只是咱們給他阻止了,這個時候咱們就 能夠在斷言的部分有到這個函數toHaveBeenCalled,去斷言他有沒有被調用過,固然咱們在阻止他彈出的時候,就已經把他的這個彈出的動做記住了,若是沒有調用過,則用not.toHaveBeenCalled()去斷言實例

相關文章
相關標籤/搜索