【问题标题】:gulp karma test TypeError: Server is not a functiongulp karma test TypeError:服务器不是函数
【发布时间】:2015-10-29 23:59:27
【问题描述】:

尝试使用 gulp 运行 karma 以运行测试,但遵循以下示例:https://github.com/karma-runner/gulp-karma

我的 gulp 文件:

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();
});

/**
 * Watch for file changes and re-run tests on each change
 */
gulp.task('tdd', function (done) {
  new Server({
    configFile: __dirname + '/karma.conf.js'
  }, done).start();
});

gulp.task('default', ['tdd']);

运行后:gulp test 我得到错误:

TypeError: Server is not a function at Gulp.<anonymous>

有什么可能出错的建议吗?

【问题讨论】:

    标签: javascript angularjs testing gulp karma-runner


    【解决方案1】:

    你安装了哪个版本的 karma?

    API 已从 0.12 更改为 0.13,您展示的示例是 0.13 的示例。

    之前的 API 如下:

    var server = require('karma').server;
    
    //... more code
    server.start( { .... } , function(exitCode){
      // ...
    });
    

    【讨论】:

    • 这帮助我从 grunt 运行业力;要使用 grunt-karma@0.12.1,你需要 karma ~0.13。我也收到了Warning: Server is not a function 消息。
    • 我使用的是最新版本的 Karma + Gulp
    【解决方案2】:

    问题是 karma-cli npm 模块未在全局范围内正确安装。运行:npm install -g karma-cli 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 2017-08-31
      • 1970-01-01
      • 2018-08-19
      • 2019-02-04
      • 2016-05-07
      相关资源
      最近更新 更多