Javascript CI篇(3)- Karma + Jasmine + istanbul 集成

karma 和 jasmine 基礎

請查看Jasmine基礎學習Karma基礎學習html

安裝

//karma
npm install karma --save-dev

//jasmine
npm install karma-jasmine karma-chrome-launcher jasmine-core --save-dev

//istanbul
npm install karma-coverage
npm install karma-jasmine-html-reporter --save-dev

增長 npm 腳本

karma採用本地安裝模式,因此運行karma是在node_module/.bin/karma.cmd,運行起來麻煩,直接package.json中加載腳本方便運行node

"karma-start": ".\\node_modules\\.bin\\karma.cmd start",
    "karma-init": ".\\node_modules\\.bin\\karma.cmd init"

配置karma.conf.js

先運行karma init完成初始化配置,karma默認用的測試框架就是jasmine。chrome

//npm 腳本
npm run karma-init

修改配置文件npm

//這裏要注意,預處理的文件是源碼,而不是測試文件,由於咱們要查源碼的測試覆蓋率
    preprocessors: {
      'src/**/*.js':'coverage'
    },
    //istanbul的配置
    coverageReporter: {
        type : 'html',
        dir : 'coverage1/'
    },
    
    https://npmjs.org/browse/keyword/karma-reporter
    //'coverage','kjhtml' 這兩個覆蓋率報告
    reporters: ['progress','coverage','kjhtml'],

運行

npm run karma-start

運行後直接在網頁中點debug能夠看測試狀況。若是你看覆蓋率須要到項目目錄找到coverage1對應瀏覽器Chrome地下的index.html文件。json

相關文章
相關標籤/搜索