与asyc回拨摩卡不执行我之前,它阻止

我在testing套件中有摩卡testing。 我注意到所有的testing,即使他们应该失败通过。 我把一些console.log语句,并实现摩卡没有进入之前或它阻止

当我运行下面,1,3和4打印到控制台,与testing通过________________________________________

process.env.NODE_ENV = 'development'; if (!process.env.PWD) { process.env.PWD = process.cwd(); } const base = process.env.PWD; const config = require(base + '/config'); const logger = require('mocha-logger'); const mongoose = require('mongoose'); const Org = require(base + '/models/org'); const orgs = require(base + '/controllers/org'); const should = require('chai').should(); const testUtils = require(base + '/test/utils'); let id, dummyOrg; console.log('Print 1'); describe('Org api test suite', function () { before(function (done) { console.log('Print 2'); mongoose.connect(config.localDb, function () { console.log('Connected to: ' + config.testDb); }); dummyOrg = new Org({ 'tenatid': Object('59e3d8f09c26d7e9a21c39aa'), 'name': 'Test Hospital', 'type': 'Provider', 'POC': 'Jack Ryan', 'account_type': 'p3', 'date_active': new Date('2016-04-30T00:00:00.000+0000'), 'address': { 'type': 'work', 'Address1': '123 Street One', 'Address2': 'Suite 100', 'City': 'Minneapolis', 'State': 'MN', 'Postal Code': '55418', 'Country': '55418' }, 'Phone1': '000-000-0000', 'Phone2': '000-000-0000' }); dummyOrg.save(function (err, org) { if (err) { console.log(err); } id = org._id; }); done(); }); after(function (done) { Org.remove({}, function (err) { if (err) { console.log(err); } }); mongoose.disconnect(done); }); console.log('Print 3'); describe('Create Org', function () { console.log('Print: 4'); it('should create a new org', function (done) { console.log('Print: 5'); let req = { body: {'tenatid': Object('59e3d8f09c26d7e9a21c39aa'), 'name': 'Test Hospital 2', 'type': 'Provider', 'POC': 'Jack Ryan', 'account_type': 'p3', 'date_active': Date('2016-04-30T00:00:00.000+0000'), 'address': {'type': 'work', 'Address1': '123 Street One', 'Address2': 'Suite 100', 'City': 'Minneapolis', 'State': 'MN', 'Postal Code': '55418', 'Country': '55418'}, 'Phone1': '000-000-0000', 'Phone2': '000-000-0000'} }; let res = testUtils.responseValidatorAsync(200, function (org) { org.should.have.property('name'); org.title.should.equal('Test Hospital 2'); done(); }); orgs.postOrg(req, res); }); });