組件的單元測(cè)試好處:
1,節(jié)省手動(dòng)測(cè)試時(shí)間
2肛循,減少研發(fā)新特性時(shí)產(chǎn)生的bug
3甥桂,改進(jìn)設(shè)計(jì),促進(jìn)重構(gòu)
4,提供了描述組件行為的文檔
用Jest測(cè)試單文件
Jest是由Facebook開(kāi)發(fā)的Javascript測(cè)試框架孤里,它自動(dòng)集成了斷言伏伯,JSDOM,覆蓋率報(bào)告等開(kāi)發(fā)者所需要的所有測(cè)試工具捌袜,是一款幾乎零配置的測(cè)試框架说搅。
安裝Jest
npm install --save-dev jest @vue/test-utils
在jest中處理單文件組成
告訴jest如何處理*.vue文件,需要安裝配置 vue-jest預(yù)處理器
npm install --save-dev vue-jest
為Jest配置Babel
npm install --save-dev babel-jest
疑惑:如何在vue-jest里面測(cè)試js方法(里面涉及到this)虏等,而jest的全局對(duì)象是window弄唧,但我們代碼里面的是vue的實(shí)例對(duì)象。
jest的默認(rèn)測(cè)試環(huán)境是jsdom提供的一個(gè)類(lèi)似瀏覽器的環(huán)境霍衫,它提供一個(gè)模擬窗口候引,該窗口也是全局對(duì)象。但是vue-jest提供的api中mount()創(chuàng)建一個(gè)包含被掛載和渲染的Vue組件的Wrapper敦跌,所以在jest運(yùn)行器中仍然可以使用vue的實(shí)例this澄干。