我正在使用mocha在Nodejs中编写测试用例,并希望在运行测试之前重置数据库数据。我使用Knex作为查询生成器来执行查询。摩卡测试用例没有等待完成
我写了下面的逻辑:
describe('Activities:', function() {
before(funtion(){
activityDBOperations.deleteAll()
.then(function(){
// all records are deleted
});
});
it('it should add a record into Activities table: multiple time activity', function(done) {
activityDBOperations.addRecord(requestParams)
.then(function(data) {
expect(data.length > 0).to.equal(true);
done();
});
});
});
的问题是测试用例开始执行,而不是等待deleteAll操作完成。我所知道的是,因为deleteAll正在返回promise,程序执行由于promise的异步性质而向前移动。
如何确保只有在deleteAll完成后才能运行测试用例?
谢谢谢尔盖,做ne做诡计 – Ashutosh
这就是我告诉你的。 –