为什么我的Mocha中的before()钩子根本没有运行?

时间:2016-07-01 00:21:22

标签: javascript node.js testing mocha

我已在以下名为“example.js”的文件中编写以下代码:

console.log('HI HI HI HI');

describe('hooks', function() {
  console.log('before before');
  before(function() {
    console.log('ok');
  });
  console.log('after before');  
})

运行“mocha example.js”时代码的输出是:

HI HI HI HI
before before
after before
  0 passing (1ms)

为什么不打印“ok”?我认为before()钩子在describe()块中的所有代码之前运行?

1 个答案:

答案 0 :(得分:6)

由于before在测试之前运行,并且您没有打印,因此不打印。

尝试添加测试然后应该运行

console.log('1');

describe('hooks', function() {
  console.log('2');
  before(function() {
    console.log('4');
  });

  console.log('3');
  it('description', function() {
    console.log('5');
    // nothing more here but still a test
  })
})