ASYNCHRONOUS HOOKS
所有的钩子(before()
,after()
,beforeEach()
,afterEach()
)可以是同步的也可以是异步的,其行为就像是普通的测试用例。例如,你希望在每个测试之前,向数据库中填充一些内容。
describe('Connection', function() {
var db = new Connection,
tobi = new User('tobi'),
loki = new User('loki'),
jane = new User('jane');
beforeEach(function(done) {
db.clear(function(err) {
if (err) return done(err);
db.save([tobi, loki, jane], done);
});
});
describe('#find()', function() {
it('respond with matching records', function(done) {
db.find({type: 'User'}, function(err, res) {
if (err) return done(err);
res.should.have.length(3);
done();
});
});
});
});