ARROW FUNCTIONS

向Mocha传递箭头函数是不好的,由于this的词法作用域的问题,箭头函数是不能够访问mocha的上下文的。例如,由于箭头函数本身的机制,下面的代码会失败。

  1. describe('my suite', () => {
  2. it('my test', () => {
  3. // should set the timeout of this test to 1000 ms; instead will fail
  4. this.timeout(1000);
  5. assert.ok(true);
  6. });
  7. });

如果你不需要使用mocha的上下文,可以使用箭头函数。然而,如果你以后需要使用这个上下文的话,重构会变得十分困难。