2015-03-16 4 views
0

У меня проблема с моей задачей mocha gulp. Чтобы запустить тесты, я должен запустить сервер, а затем запустить тесты. Проблема возникает, когда тест завершается с ошибкой: nodemon завершает работу, и процесс узла все еще работает.Аварии с мольбой Golp 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...] 

Как я могу сделать, чтобы сервер работает, когда мой тест не пройден?

ответ

1

Так что я нашел то, что хотел!

Во-первых, я не знал, что Mocha выдает исключение, когда тест выходит из строя, и это то, что разрушает сервер. Поэтому я добавил try/catch почти везде в своем коде, но я нашел это уродливым, и это было не совсем то, что мне нужно.

И вот я нашел this mocha plugin. С помощью этого плагина, когда тест не удается, только процесс Mocha падает, сервер все еще работает нормально.