一、介紹
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') });