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

相关文章
相关标签/搜索