How do I get mocha to run "exports"-style tests on Windows?
Asked Answered
B

1

5

I have NodeJS and Mocha installed and working on Windows 7 x64 - so far, so good - but I can't get Mocha to recognise any tests defined using the exports interface (as described at http://visionmedia.github.com/mocha/)

If I create test/bdd.js containing the following code:

var should = require('should');

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

I can run mocha and get the expected output:

D:\Projects\NodeDemo>mocha -R spec

  TestDemo - BDD interface
    #foo
      ✓ 1 should equal 1

  ✔ 1 tests complete (7ms)

D:\Projects\NodeDemo>

BUT if I create test/exports.js containing this code (based on the 'exports' interface example provided on the Mocha site)

var should = require('should');

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

when I run Mocha it doesn't find any tests:

D:\Projects\NodeDemo>mocha -R spec

✔ 0 tests complete (1ms)

D:\Projects\NodeDemo>

I suspect I've either missed a switch or something for specifying which interface mocha should be using for test definitions, or I've found something that isn't supported on Windows (yet). Any ideas?

Bialy answered 11/3, 2012 at 15:52 Comment(0)
B
10

Of course, the second you post it to StackOverflow you notice a line of documentation that I'd swear wasn't there before... :)

mocha(1)

Usage: mocha [options] [files]

Options:

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

and sure enough, running

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

does exactly what I expected. D'OH.

Bialy answered 11/3, 2012 at 16:9 Comment(1)
Glad it wasn't just me... :)Bialy

© 2022 - 2024 — McMap. All rights reserved.