[Mocha] before, beforeEach, after, afterEach の実行順番

Tadashi Shigeoka ·  Sat, March 25, 2017

「あれ? Mocha で before, beforeEach, after, afterEach の実行順番ってどういう順番だっけ?」となることが多かったので記事にしました。

実行順番は before, beforeEach, afterEach, after

結論から書くと、

  1. before
  2. beforeEach
  3. test
  4. afterEach
  5. after

の順番で実行されます。

Mocha のサンプルコード

以下、before, beforeEach, afterEach, after の実行順序を確認するための mocha のサンプルコードです。

describe('before test', function() {
  before(function() {
    console.log('before');
  });

  beforeEach(function() {
    console.log('beforeEach');
  });

  after(function() {
    console.log('after');
  });

  afterEach(function() {
    console.log('afterEach');
  });

  it('test', function() {
    console.log('test');
  });
});

何の処理がどこで呼び出されるのか、よく理解してテストコードを書いていきたいですね。