5

我安装了 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);  });
  });
});

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

D:\Projects\NodeDemo>mocha -R spec

  TestDemo - BDD interface
    #foo
      ✓ 1 should equal 1

  ✔ 1 tests complete (7ms)

D:\Projects\NodeDemo>

但是,如果我创建包含此代码的 test/exports.js(基于 Mocha 网站上提供的“导出”接口示例)

var should = require('should');

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

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

D:\Projects\NodeDemo>mocha -R 规范

✔ 0 次测试完成 (1ms)

D:\Projects\NodeDemo>

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

4

1 回答 1

10

当然,当您将其发布到 StackOverflow 时,您会注意到一行我发誓以前不存在的文档... :)

mocha(1)

Usage: mocha [options] [files]

Options:

-u, --ui <name>        specify user-interface (bdd|tdd|exports)

果然,运行

D:\Projects\NodeDemo>mocha -ui exports -R spec

完全符合我的预期。哦。

于 2012-03-11T16:09:28.677 回答