88123051 2016-09-01
一、介绍
1. karma是单元测试运行框架,可以集成jasmine断言库,也支持babel。
2.fis是百度前端团队开源推出的前端工程化管理工具。
二、karma的基础应用
1.karma的基础api:
•server:创建一个测试服务器 【可以是远程计算机】
•runner.run:运行完单元测试后,立即停止服务
•stopper.stop:停止下在运行的测试服务器
•在运行run或stop时,必须要让服务器处于start状态才行
2.示例代码:
var karma = require('karma');
var runner = karma.runner, stop = karma.stopper;
var server = karma.Server;
var _server = new server({port:1367},null);
_server.start();
//runner.run会在运行完成后,立即结束自己
runner.run({port:1367},function(exitCode){
console.log('karma stop code:' + exitCode);
process.exit(exitCode);
});
//结束自己现有的
var time = setTimeout(function(){
stop.stop({port:1367},function(exitCode){
console.log('programe exit: ' + exitCode);
process.exit(exitCode);
});
},5000);
三、让他成为fis的插件
1.由于fis工程有多个注入口,对于单元测试暂定放在打包之前(prepackager),其他注入口可以参考fis的之官网。
2.在node_moudles下创建fis-prepackager-karma文件夹(fis所有的插件都是一个npm包)
3.在fis-prepackager-karma文件夹中创建一个index.js文件,然后添加对karma的调用
4.在fis-conf.js中作如下配置:
fis.match('::package',{
'prepackager':fis.plugin('karma')
});
5.再次运行fis即会执行。