Node.js 正确配置Gulp、Mocha、Browserify,以执行客户端测试和服务器端测试
我正在开发一个节点应用程序,为我们的构建过程使用Node.js 正确配置Gulp、Mocha、Browserify,以执行客户端测试和服务器端测试,node.js,testing,mocha.js,browserify,gulp,Node.js,Testing,Mocha.js,Browserify,Gulp,我正在开发一个节点应用程序,为我们的构建过程使用gulp,为我们的测试运行程序使用gulpmocha插件 gulp.task('test', function () { return gulp.src(TESTJS) .pipe(mocha({reporter: 'spec'})) .on("error", function (err) { // handle the mocha errors so that they don't
gulp
,为我们的测试运行程序使用gulpmocha
插件
gulp.task('test', function () {
return gulp.src(TESTJS)
.pipe(mocha({reporter: 'spec'}))
.on("error", function (err) {
// handle the mocha errors so that they don't cloud the test results,
// or end the watch
console.log(err.toString());
this.emit('end');
});
});
目前,TESTJS
只是我的服务器端测试。我也想用同样的过程来执行我的客户机测试。我看了一下大口大口大口地喝了一杯摩卡咖啡
,试了一下,但还是遇到了同样的问题。当尝试测试我的主干代码时,它失败了,因为测试运行程序找不到其他必需的客户端组件(即jquery
),它失败了。我知道我需要使用一些无头webkit,比如phantomJS
。但我很难弄清楚如何将其融入到browserify
的吞咽过程中
有人尝试过这样的设置,或者有人知道我在让我的“测试”任务执行客户端mocha测试和服务器端mocha测试方面缺少什么吗?潜在的设置是:
- -这是gulp和karma之间的粘合剂,并提供选项来使用gulp.src()流设置karma
。坦白地说,如果你在业力测试之前没有任何步骤,那么直接在吞咽任务中使用业力,而不使用吞咽插件options.files
- 使用相关的karma插件在phantom/chrome/firefox上运行
- 使用相关的karma插件进行覆盖,alt js编译
- 更多插件&配置karma选项以报告测试和覆盖范围
- 因为它需要解析requires,所以它必须在所有“入口点”文件上运行。通常,您的测试应该需要源代码,并且必须是入口点
- 使用-它解决了karma browserify(ATM-this-它不能与bfy 5.0 api一起工作)和karma browserify中的问题
- 由于源/供应商源/测试都是捆绑的,所以覆盖范围变得很棘手。所以我创造了一个
- browserify应该是业力中的“预处理器”李>
- 应在browserfy选项中配置一组“transform:[]”
- 可以通过获取现有转换模块并使用自定义模块包装来配置转换,就像我在上面为browserify伊斯坦布尔所做的那样
gulp karma
。@scarlz-请详细说明在这种情况下,karma将以何种方式提供帮助。具体来说,它将如何帮助测试大量使用第三方全局语言(如jQuery或lodash)的组件。