0

我的 mocha gulp 任务有问题。要运行测试,我必须启动服务器,然后运行测试。测试失败时会出现问题:nodemon 崩溃并且节点进程仍在运行。

这是我的 gulpfile:

'use strict';

var gulp = require('gulp'),
    mocha = require('gulp-mocha'),
    nodemon = require('gulp-nodemon'),
    plumber = require('gulp-plumber');

gulp.task('server-dev', function(){
  nodemon({ script: 'server/app.js', ext: 'html js'})
    .on('restart', ['mocha']);
});

gulp.task('mocha', function(){
  return gulp.src('./server/**/*.tests.js', { read: false })
    .pipe(plumber())
    .pipe(mocha());
});

当服务器崩溃时,它会给我这个消息:

 uncaughtException: expected 500 to equal 404
 AssertionError: expected 500 to equal 404
 [... stack trace...]

当我的测试失败时,我该如何保持服务器运行?

4

1 回答 1

1

所以我找到了我想要的!

首先,我不知道的是,当测试失败时,Mocha 会抛出异常,这就是导致服务器崩溃的原因。所以我在我的代码中几乎所有地方都添加了 try/catch,但我发现这很难看,而且这并不是我所需要的。

然后我找到了这个 mocha 插件。使用此插件,当测试失败时,只有 Mocha 进程崩溃,服务器仍然正常运行。

于 2015-03-23T09:13:21.770 回答