下面就介紹一下怎麼使用karma+jasmine進行單元測試。html
1.建立項目web
用webStorm打開此項目,能夠看到已經建立了一個package.json文件。chrome
2.安裝必要的包npm
npm install karma --savejson
npm install karma-jasmine --save瀏覽器
npm intall karma-chrome-launcher --save函數
npm intall jasmine-core --save單元測試
npm install karma-cli -g測試
3.建立被測試文件spa
在unitTest項目下面建立子文件夾js,建立index.js,index2.js,index3.js,jasmineTest.js文件。
在index.js中建立測試函數
在index2.js中建立一個測試函數
在index3.js中建立一個函數
在jasmineTest.js中建立測試用例
4.建立測試文件
在unitTest文件夾下面建立子文件夾test,使用命令行karma init初始化karma的配置文件。
建立以後,在test文件夾下面會生成一個karma.conf.js文件。
在這個文件裏面修改部分設置:
5.開始測試
在命令行中鍵入karma start;會自動啓動谷歌瀏覽器:
點擊按鈕,按下F12,點擊console:
能夠看到全部的函數測試成功。
6.出錯的狀況
若是說咱們期待index.js文件中的test函數輸出結果是‘abcd’,但是test函數輸出的結果是‘abc’,這樣測試就不經過,就會報錯。
同時,控制檯也會打印出錯的log:
到此處,單元測試就結束了。
7.單元測試覆蓋率
當咱們在控制檯鍵入karma start的時候會生成一個coverage文件夾;
點擊index.html文件,在瀏覽器中打開,能夠查看到測試報表:
點擊下面的index.js.html,index2.js.html,index3.js.html,jasmineTest.js.html打開以後,能夠看到單個文件測試的函數,下面是index.js.html的生成報表:
其中,粉色背景的是沒有測試的函數。