Search code examples
javascriptnode.jstddmocha.js

How to set execution order of mocha test cases in multiple files


I have two javascript files which contain mocha test cases.

//----------abc.js -------------

describe("abc file", function(){
  it("test 1" , function(){
    assert.equal(20 , 20); 
  });
}); 

//---------xyz.js--------------
describe("xyz file", function(){
      it("test 1" , function(){
        assert.equal(10 , 10); 
      });
    });

I have put them in a folder called test and when I execute the mocha command the first file(abc.js) is always executed before xyz.js. I thought this might be due to alphabetical ordering and renamed the files as

abc.js => xyz.js
xyz.js => abc.js

but still, the content of the xyz.js (previously abc.js) is executed first. How can I change the execution order of these test files?


Solution

  • Mocha has a --sort (short -S) option that sorts test files:

    $ mocha --help
    
    [...]
        -S, --sort                              sort test files
    [...]