一、介紹
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即會執行。