Тестирование с глотком + бабель + жасмин на nodejs
Я пытаюсь проверить свой код с помощью gulp-jasmine и gulp-babel:
var gulp = require("gulp"),
jasmine = require("gulp-jasmine"),
babel = require("gulp-babel");
module.exports = function () {
gulp.src(["index.js", "src/**/*.js", "spec/**/*[sS]pec.js"])
.pipe(babel({
"presets": ["es2015"],
"plugins": ["transform-runtime"]
}))
.pipe(jasmine())
};
я получил
events.js:141
throw er; // Unhandled 'error' event
^
SyntaxError: Unexpected reserved word
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:414:25)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at D:\creation\software developer\projects\javascript-project-template\node_modules\jasmine\lib\jasmine.js:63:5
at Array.forEach (native)
at Jasmine.loadSpecs (D:\creation\software developer\projects\javascript-project-template\node_modules\jasmine\lib\jasmine.js:62:18)
Есть идеи о том, что мне не хватает? Код кажется сломанным, потому что все еще используются ключевые слова ES6. Я не уверен, как это исправить.
1 ответ
Решение
Согласно sindresorhus, библиотека работает только с путями к файлам, поэтому я не могу использовать потоки: https://github.com/sindresorhus/gulp-jasmine/issues/60
Он предложил этот подход вместо этого:
require('babel-core/register');
var gulp = require("gulp"),
jasmine = require("gulp-jasmine");
module.exports = function () {
gulp.src(["index.js", "src/**/*.js", "spec/**/*[sS]pec.js"])
.pipe(jasmine({
includeStackTrace: true
}))
};