在 nodejs 上使用 gulp + babel + jasmine 进行测试
Testing with gulp + babel + jasmine on 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 关键字。我不确定如何解决这个问题。
根据 sindresorhus 的说法,lib 仅适用于文件路径,因此我不能使用流:https://github.com/sindresorhus/gulp-jasmine/issues/60#event-452847672
他建议改用这种方法:
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
}))
};
我正在尝试使用 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 关键字。我不确定如何解决这个问题。
根据 sindresorhus 的说法,lib 仅适用于文件路径,因此我不能使用流:https://github.com/sindresorhus/gulp-jasmine/issues/60#event-452847672
他建议改用这种方法:
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
}))
};