title: promise & mocha: done() in before or not?
body: <p>I am reading <a href="https://gregjs.com/javascript/2015/asynchronous-tests-in-mocha-using-before-and-after-blocks/" rel="noreferrer">some tutorials on promise tests in mocha</a>. There is a piece of codes:</p>
  
  <pre><code>before(function(done) {
    return Promise.resolve(save(article)).then(function() {
      done();
    });
  });
  </code></pre>
  
  <p>Why <code>done()</code> called in the <code>then()</code> in the <code>before()</code>? What is the difference between the above codes and the following codes:</p>
  
  <pre><code>before(function(done) {
    return Promise.resolve(save(article));
  });
  </code></pre>
  
  <p>Thanks</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>My question is to compare with the following codes:</p>
  
  <pre><code>before(function() {
    return Promise.resolve(save(article));
  });
  </code></pre>
  
  <p>Sorry for the typo.</p>