Javascript 为gulp jasmine设置模块路径
我试图用jasmine对一些Javascript代码进行单元测试,jasmine使用peg解析器。peg解析器是在构建时构建的 不幸的是,我还没有找到如何告诉jasmine动态构建的解析器在哪里 到目前为止,我已经:Javascript 为gulp jasmine设置模块路径,javascript,node.js,jasmine,gulp,Javascript,Node.js,Jasmine,Gulp,我试图用jasmine对一些Javascript代码进行单元测试,jasmine使用peg解析器。peg解析器是在构建时构建的 不幸的是,我还没有找到如何告诉jasmine动态构建的解析器在哪里 到目前为止,我已经: gulp.task('parser', () => { return gulp.src("src/parser.peg") .pipe(peg()) .pipe(gulp.dest(".obj")) }); gulp.task('te
gulp.task('parser', () => {
return gulp.src("src/parser.peg")
.pipe(peg())
.pipe(gulp.dest(".obj"))
});
gulp.task('test', ["parser"], () => {
return gulp.src(["tests/**/*.js", "src/**/*.js", ".obj/parser.js"])
.pipe(jasmine())
});
现在,在测试运行时,解析器已正确构建并放入.obj
;但它不在模块路径上,因此测试加载真实代码,真实代码尝试从“parser”导入解析器,测试失败
我可以将真正的代码改为导入
。/obj/parser
,而不是parser
,但这当然会在生产中失败。我需要告诉jasmine在.obj
中查找模块。如何使用?如果使用外部变量,请相应地在解析器中更改其值,然后在计算测试的路径时使用它?(比如$objPath+'/parser.js'或其他什么?)我该怎么做?