在摩卡里面不工作



我正在尝试用Mocha测试框架对我用Gulp构建的一些功能进行单元测试。我是单元测试的新手,一直以gulp-concat测试为例。

然而,我遇到了一个问题,其中gulp.src没有找到任何与mocha运行时。我已经尝试从it单独运行确切的代码,它工作得很好。使用mocha运行,gulp.src没有向流中输入任何内容。

var sample = Path.join(__dirname, 'sample.html');
describe('feature', function() {
   it('should do something', function() {
      gulp.src(sample)
         .pipe((function() {
            var stream = through.obj(function(file, enc, callback) {
               console.log(file.path);
               this.push(file);
               callback();
            });
            return stream;
         })());
   });
});

您的测试是异步的,所以您必须告诉Mocha它是异步的,并且您必须在测试结束时告诉Mocha。

你通过给it的回调添加一个参数来告诉Mocha它是异步的:

it('should do something', function(done) {

您通过在适当的时候调用这个额外的done()参数来告诉Mocha测试何时完成。我回到您使用的示例,看到assert.end(done)在这里被用于此。所以你的代码应该编辑成:

var gulp = require("gulp");
var path = require("path");
var through = require("through2");
var assert = require('stream-assert');
var sample = path.join(__dirname, 'sample.html');
describe('feature', function() {
   it('should do something', function(done) {
       gulp.src(sample)
           .pipe((function() {
               var stream = through.obj(function(file, enc, callback) {
                   console.log(file.path);
                   this.push(file);
                   callback();
               });
               return stream;
           })())
           .pipe(assert.end(done));
   });
});

相关内容

  • 没有找到相关文章

最新更新