karma的基礎應用之與fis結合

小龍女先生發表於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即會執行。

相關文章