一、什么是Karma?
1、Karma是由Google团队开发的一套前端测试运行框架,
2、Karma框架的核心部分是Jasmine,Jasmine负责完成Javascript的自动化测试、生成覆盖率报告。
3、Karma框架主要完成以下工作:
(1)启动一个web服务器,生成包含js源代码和js测试脚本的页面;
(2)运行浏览器加载页面,并显示测试的结果;
(3)如果开启检测,则当文件有修改时,执行继续执行以上过程。
4、安装Karma环境:npm i -g karma-cli
5、安装karma包:npm i --save-dev karma
6、测试环境初始化:karma init
7、运行karma:karma start
在实际项目中,有事会需要用到Webpack和ES6
8、安装karma-webpack:npm i --save-dev karma-webpack
9、安装babel:npm i --save-dev babel-loader babel-core babel-preset-es2015
这时,karma start,Coverage不是百分之百了
10、安装istanbul(检测Coverage):npm i --save-dev babel-plugin-istanbul
11、项目地址:https://github.com/xiaojimao18/karma-example
12、文章来源:https://segmentfault.com/a/1190000006895064
二、测试的种类
1、端到端测试--集成测试-单元测试
2、测试驱动开发--行为驱动开发
三、在gulp下,建立karma任务
var karma = require('karma').server;
gulp.task('test', function(done) {
karma.start({
configFile: __dirname + '/tests/my.conf.js',
singleRun: true
}, function() {
done();
});
});
四、每次执行gulp前,先进行测试
gulp.task('default',['test'],function(){
})