karma的基础应用之与fis结合

一、介绍

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即会执行。