Как настроить gulp-mocha со следующей конфигурацией mocha.opts?
Я пытаюсь запустить мокко с глотком с конфигурацией, существовавшей ранее. moch.opts имеет следующую строку.
--timeout 999999
--ui tdd
--full-trace
--recursive
--compilers js:babel-register
как их добавить сюда:
gulp.task('test', function() {
return gulp.src('sampleTest/*.js', { read: false })
.pipe(mocha());
});
3 ответа
Опции передаются непосредственно в двоичный файл mocha, поэтому вы можете использовать любые его параметры командной строки в форме camelCased. это ссылка на документ
gulp.task('test', ['compile'], function() {
return gulp.src([], { read: false })
.pipe(mocha({
timeout: 999999,
fullTrace: true,
reporter: 'min'
}))
.on('error', gutil.log);
});
Я считаю, что вы можете создавать свойства объекта параметров, передаваемого gulp-mocha
или вы можете просто прочитать файл опций. В моем случае я не хотел дублировать такие вещи, как --recursive
или же --require test/_init.js
, но я хотел переопределить репортер, поэтому я использую код, показанный ниже:
gulp.task('test', ['compile'], function() {
return gulp.src([], { read: false })
.pipe(mocha({
opts: 'test/mocha.opts',
reporter: 'min'
}))
.on('error', gutil.log);
});
Вы можете изменить это так, чтобы он не принимал путь по умолчанию для тестирования файлов (например, test/*.js
), но в моем простом случае мне даже не нужно было проходить путь к мокко. Я просто использую gulp, чтобы вызвать его (как будто я запускал в командной строке что-то вроде mocha --opts test/mocha.opts --reporter min
)
Добавить вызов setTimeout после вызова мокко
.pipe(mocha(),setTimeout(function() {
}, 999999))