title: Async function in mocha before() is alway finished before it() spec?
body: <p>I have a callback function in <code>before()</code> which is for cleaning database. 
  Is everything in <code>before()</code> guaranteed to finish before <code>it()</code> starts? </p>
  
  <pre><code>before(function(){
     db.collection('user').remove({}, function(res){}); // is it guaranteed to finish before it()? 
  });
  
  it('test spec', function(done){
    // do the test
  });
  
  after(function(){
  });
  </code></pre>