karma

在gulp的体系里面使用karma进行单元测试。

gulp已经拥有了karma需要的机制,就是注册任务的时候可以提供一个回调函数,回调函数的参数是一个状态终结器。因此,不需要额外安装karma插件来运行karma,直接使用karma就可以了。

var gulp = require('gulp');
var Server = require('karma').Server;

/**
 * Run test once and exit
 */
gulp.task('test', function (done) {
  new Server({
    configFile: __dirname + '/karma.conf.js',
    singleRun: true
  }, done).start();
});

原理也很简单,执行gulp test的时候,调用karma进行测试,karma的配置全部都放在karma.conf.js里面,实际上这个过程可以看做是一个触发过程,跟在命令行执行karma命令一样。

唯一比较有趣的是,可以直接给karma service传done这个回调函数的参数(实际上也是个函数),一旦done()被执行,那么test任务就结束了,我们所感知到的,就是命令行里面这个task结束。

要了解更多的测试的信息,你还得去学习karma,这里是官网

而且前端的单元测试比较复杂,因为前端还要涉及到浏览器等问题,希望你能够为这个问题贡献内容。

results matching ""

    No results matching ""