Yeni mocha sürümleri için:
Artık mocha'ya bir söz verebilirsiniz ve mocha devam etmeden önce tamamlanmasını bekleyecektir. Örneğin, aşağıdaki test geçecektir:
let a = 0;
before(() => {
return new Promise((resolve) => {
setTimeout(() => {
a = 1;
resolve();
}, 200);
});
});
it('a should be set to 1', () => {
assert(a === 1);
});
Belgeleri burada bulabilirsiniz
Daha eski mocha sürümleri için:
Eşzamansız isteğinizin her şey olmadan önce tamamlanmasını istiyorsanız done
, önceki isteğinizdeki parametreyi kullanmanız ve geri aramada çağırmanız gerekir.
Mocha done
, sonraki blokları işlemeye başlamak için çağrılana kadar bekleyecektir .
before(function (done) {
db.collection('user').remove({}, function (res) { done(); });
})
it('test spec', function (done) {
});
after(function() {});
Bir veritabanındaki istekler, basit kod yürütmeye kıyasla oldukça uzun olabileceğinden, birim testi için veritabanını saplamamak yürütmeyi büyük ölçüde yavaşlatabileceğinden dikkatli olmalısınız.
Daha fazla bilgi için Mocha belgelerine bakın .
before
. Örnbefore(function () { return db.collection...}