【问题标题】:Text replacement in gulp testgulp 测试中的文本替换
【发布时间】:2015-04-25 02:16:29
【问题描述】:

我正在尝试创建一个 gulp 构建系统,以便我可以测试 src 文件和最小化文件。假设我有foo.src.jsfoo.min.js,我的测试文件是test.js,其中包含类似

var Foo = require(../FOO);
...

然后在我的 gulp 文件中

var replace = require('gulp-replace');
var mocha = require('gulp-mocha');

gulp.task('test-prepare', function() {
  return gulp.src('test.js')
    .pipe(replace(/FOO/g, 'foo'))
    .pipe(gulp.dest('build'));
});

gulp.task('test-build-prepare', function() {
  return gulp.src('test.js')
    .pipe(replace(/FOO/g, 'foo.min'))
    .pipe(gulp.dest('build'));
});

gulp.task('test', ['test-prepare'], function() {
  return gulp.src('build/test.js').pipe(mocha());
});

gulp.task('test-build', ['test-build-prepare'], function() {
  return gulp.src('build/test.js').pipe(mocha());
});

在我运行gulp test 后,我可以看到构建文件夹和test.js 文件已正确地将FOO 替换为foo。但是,由于运行了零个测试用例,因此测试未正确运行。它显示:

[12:04:44] Using gulpfile ~/Projects/genEnum/gulpfile.js
[12:04:44] Starting 'test-prepare'...
[12:04:44] Finished 'test-prepare' after 23 ms
[12:04:44] Starting 'test'...


  0 passing (0ms)

[12:04:44] Finished 'test' after 5.82 ms

有人知道问题出在哪里吗?

【问题讨论】:

    标签: javascript unit-testing build gulp mocha.js


    【解决方案1】:

    发现问题。在我的代码中,它不是“build/test.js”,而是BUILD_PATH+TEST_FILE。而BUILD_PATH./buildTEST_FILEtest.js,在它们连接后会漏掉一个/

    将其更改为 BUILD_PATH + '/' + TEST_FILE 解决了问题,现在我可以针对 src 文件和最小化文件运行测试。

    顺便说一句,我在这个问题中提到的 gulpfile.js 可以在 https://github.com/greenlaw110/enumjs/blob/master/gulpfile.js 找到

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多