首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >来自gulp的运行业力任务问题

来自gulp的运行业力任务问题
EN

Stack Overflow用户
提问于 2014-10-29 01:29:48
回答 10查看 26.8K关注 0票数 64

我正在尝试从gulp任务运行karma测试,我得到了这个错误:

代码语言:javascript
复制
Error: 1
   at formatError (C:\Users\Tim\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:161:10)
   at Gulp.<anonymous> (C:\Users\Tim\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:187:15)
   at Gulp.emit (events.js:95:17)
   at Gulp.Orchestrator._emitTaskDone (C:\path\to\project\node_modules\gulp\node_modules\orchestrator\index.js:264:8)
   at C:\path\to\project\node_modules\gulp\node_modules\orchestrator\index.js:275:23
   at finish (C:\path\to\project\node_modules\gulp\node_modules\orchestrator\lib\runTask.js:21:8)
   at cb (C:\path\to\project\node_modules\gulp\node_modules\orchestrator\lib\runTask.js:29:3)
   at removeAllListeners (C:\path\to\project\node_modules\karma\lib\server.js:216:7)
   at Server.<anonymous> (C:\path\to\project\node_modules\karma\lib\server.js:227:9)
   at Server.g (events.js:180:16)

我的系统是Windows 7,nodejs版本是v0.10.32,gulp版本:

代码语言:javascript
复制
[10:26:52] CLI version 3.8.8
[10:26:52] Local version 3.8.9

此外,在较新的Ubuntu (不确定是什么版本)和mac os上,我在Ubuntu 12.04 LTS上也遇到了同样的错误,看起来工作正常。导致此错误的原因是什么?

更新5/11/2016:在对已接受答案隐藏错误的事实发表评论之前,请参阅对该特定已接受答案的前两条评论。只有在知道自己在做什么的情况下才能使用它。相关信息:https://github.com/karma-runner/gulp-karma/pull/15

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2014-11-17 00:06:39

你是如何用Gulp运行你的测试的?我最近在OSX上遇到了这个问题,每当测试失败时,我都会运行node v0.11.14和gulp 3.8.10

从推荐的更改:

代码语言:javascript
复制
gulp.task('test', function(done) {
    karma.start({
        configFile: __dirname + '/karma.conf.js',
        singleRun: true
    }, done);
});

至:

代码语言:javascript
复制
gulp.task('test', function(done) {
    karma.start({
        configFile: __dirname + '/karma.conf.js',
        singleRun: true
    }, function() {
        done();
    });
});

...got消除了此错误。

似乎归结于当在回调中发出错误信号时,gulp如何处理错误消息。有关详细信息,请参阅Improve error messages on exit

票数 131
EN

Stack Overflow用户

发布于 2016-07-20 04:48:46

在我使用gulp 3.9.1和karma 1.1.1时,这些解决方案都不能正常工作。添加对gulp util npm install --save-dev gulp-util的引用,并将任务更新到下面,可以很好地修复错误输出,同时正确地保持退出状态。

代码语言:javascript
复制
var gutil = require('gulp-util');

gulp.task('test', function (done) {
  new Server({
    configFile: __dirname + '/karma.conf.js',
    singleRun: true
  }, function(err){
        if(err === 0){
            done();
        } else {
            done(new gutil.PluginError('karma', {
                message: 'Karma Tests failed'
            }));
        }
    }).start();
});
票数 9
EN

Stack Overflow用户

发布于 2015-08-17 14:53:50

下面是关于使用Karma的吞咽模式的代码片段。它有点类似,但也使用了更新的方法如何开始因果报应。

代码语言:javascript
复制
/**
 * Start the tests using karma.
 * @param  {boolean} singleRun - True means run once and end (CI), or keep running (dev)
 * @param  {Function} done - Callback to fire when karma is done
 * @return {undefined}
 */
function startTests(singleRun, done) {
    var child;
    var excludeFiles = [];
    var fork = require('child_process').fork;
    var KarmaServer = require('karma').Server;
    var serverSpecs = config.serverIntegrationSpecs;

    if (args.startServers) {
        log('Starting servers');
        var savedEnv = process.env;
        savedEnv.NODE_ENV = 'dev';
        savedEnv.PORT = 8888;
        child = fork(config.nodeServer);
    } else {
        if (serverSpecs && serverSpecs.length) {
            excludeFiles = serverSpecs;
        }
    }

    var server = new KarmaServer({
        configFile: __dirname + '/karma.conf.js',
        exclude: excludeFiles,
        singleRun: singleRun
    }, karmaCompleted);
    server.start();

    ////////////////

    function karmaCompleted(karmaResult) {
        log('Karma completed');
        if (child) {
            log('shutting down the child process');
            child.kill();
        }
        if (karmaResult === 1) {
            done('karma: tests failed with code ' + karmaResult);
        } else {
            done();
        }
    }
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26614738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档