如何让mocha在Windows上运行"导出"式测试?

Dyl*_*tie 3 mocha.js node.js expresso

我安装了NodeJS和Mocha并在Windows 7 x64上运行 - 到目前为止,非常好 - 但我不能让Mocha识别使用该exports界面定义的任何测试(如http://visionmedia.github.com/mocha/所述))

如果我创建包含以下代码的test/bdd.js:

var should = require('should');

describe('TestDemo - BDD interface', function(){
  describe('#foo', function(){
    it('1 should equal 1', function(){ (1).should.equal(1);  });
  });
});
Run Code Online (Sandbox Code Playgroud)

我可以运行mocha并获得预期的输出:

D:\Projects\NodeDemo>mocha -R spec

  TestDemo - BDD interface
    #foo
      ? 1 should equal 1

  ? 1 tests complete (7ms)

D:\Projects\NodeDemo>
Run Code Online (Sandbox Code Playgroud)

但是如果我创建包含此代码的test/exports.js(基于Mocha站点上提供的'exports'接口示例)

var should = require('should');

module.exports = {
  'TestDemo - exports interface': {
    '#foo': {
      '1 should equal 1': function(){ (1).should.equal(1); }
    }
  }
};
Run Code Online (Sandbox Code Playgroud)

当我运行Mocha时,它没有找到任何测试:

D:\ Projects\NodeDemo> mocha -R spec

✔0个测试完成(1ms)

d:\项目\ NodeDemo>

我怀疑我要么错过了一个开关,要么指定哪个接口mocha应该用于测试定义,或者我发现了一些Windows尚不支持的东西.有任何想法吗?

Dyl*_*tie 8

当然,你把它发布到StackOverflow的第二个你注意到我发誓的一系列文档之前没有... :)

mocha(1)

Usage: mocha [options] [files]

Options:

-u, --ui <name>        specify user-interface (bdd|tdd|exports)
Run Code Online (Sandbox Code Playgroud)

果然,跑步

D:\Projects\NodeDemo>mocha -ui exports -R spec
Run Code Online (Sandbox Code Playgroud)

完全符合我的预期.D'OH.