describe塊稱爲"測試套件"(test suite),表示一組相關的測試。它是一個函數,第一個參數是測試套件的名稱("加法函數的測試"),第二個參數是一個實際執行的函數。
describe鉤子:html
`describe('hooks', function() { before(function() { // 在本區塊的全部測試用例以前執行 }); after(function() { // 在本區塊的全部測試用例以後執行 }); beforeEach(function() { // 在本區塊的每一個測試用例以前執行 }); afterEach(function() { // 在本區塊的每一個測試用例以後執行 }); // test cases });`
it塊稱爲"測試用例"(test case),表示一個單獨的測試,是測試的最小單位。它也是一個函數,第一個參數是測試用例的名稱,第二個參數是一個實際執行的函數。webpack
describe('加法函數的測試', function() { it('1 加 1 應該等於 2', function() { expect(add(1, 1)).to.be.equal(2); }); });
npm install karma-cli -g cnpm install karma karma-chai karma-mocha karma-webpack webpack babel-loader babel-core mocha chai karma-chrome-launcher --save-dev
karma init karma.conf.js
karma start karma.conf.js
注意:配置文件:files中設置included:false,須要手動加載測試文件,不會自動加載即不會自動測試
使用coverage時,webpack配置:在webpack中需加:git
{ test: /\.js$/, loader: 'babel-loader', query:{ plugins:['istanbul'] } }
mochagithub
karmaweb
chai文檔chrome
karma筆記segmentfault
mocha筆記api
chai筆記瀏覽器