Mocha:定義JavaScript測試模塊的測試框架。做用是:配合chai斷言庫,運行測試腳本進行單元測試。 一個測試腳本包含一個或多個describe(測試模塊), 每一個describe(測試模塊)包括一個或多個it(測試用例)。同時,describe測試模塊是一個函數, 具備兩個參數,其中第一個參數是測試模塊的名稱(通常狀況下寫測試組件的名稱), 第二個參數是一個實際執行的函數;it測試用例也是一個函數, 第一個參數是測試用例的名稱(一般寫你的斷言結果,), 第二個參數是一個實際執行的函數。vue
Chai:斷言庫,所謂斷言, 就是判斷源碼的實際執行結果與預期結果是否一致, 若是不一致, 就會拋出錯誤。它具備兩種風格分別是TDD和BDD。 TDD風格::先編寫單元測試用例代碼,在開發功能代碼。它的斷言方式有:assert。 BDD風格:先編寫開發功能代碼,在編寫單元測試。它的斷言方式有:expect和should。 其中,expect使用構造函數來建立斷言對象實例,而should是要新增方法來實現斷言(因此should不支持IE);expect直接指向chai.expect,而should則是chai.should()。我的建議使用expect,兼容性高。框架
Vue-test-utils:是Vue.js官方的單元測試實用工具庫, 提供不少便捷的接口, 好比掛載組件, 設置Props, 發送emit事件等操做。函數
建立vue項目的時候將Uint Testing選中,生成的項目就是自動集成,也能夠本身安裝相關依賴而後使用工具
一、Mocha: describe塊稱爲"測試套件"(test suite), 表示一組相關的測試. 它是一個函數, 第一個參數是測試套件的名稱(一般寫測試組件的名稱, 這裏即爲Counter.js), 第二個參數是一個實際執行的函數. it塊稱爲"測試用例"(test case), 表示一個單獨的測試, 是測試的最小單位. 它也是一個函數, 第一個參數是測試用例的名稱(一般描述你的斷言結果, 這裏即爲"點擊按鈕後, count的值應該爲1"), 第二個參數是一個實際執行的函數.性能
Mocha在describe塊中提供了四個鉤子: before(), after(), beforeEach(), afterEach(). 它們會在如下時間執行單元測試
經常使用的方法:測試
二、Chai: 經常使用的屬性:ui
三、Vue-test-utils: 經常使用的屬性:3d
chai的一些語法使用cdn
mocha Demo
第一個用例獲取組件裏面的文字,判斷文字裏面是否包含msg 第二個用例使用不一樣數字計算1000次,輸出計算時間,可測試性能
結果:
加入把第二個測試用例的對比數字改爲1000,結果:
就會出現斷言拋錯,能夠看到對錯結果的對比及所在文件位置