Per le nuove versioni moka:
Ora puoi restituire una promessa a mocha e mocha attenderà che venga completata prima di procedere. Ad esempio, il seguente test passerà:
let a = 0;
before(() => {
return new Promise((resolve) => {
setTimeout(() => {
a = 1;
resolve();
}, 200);
});
});
it('a should be set to 1', () => {
assert(a === 1);
});
Puoi trovare la documentazione qui
Per le versioni precedenti di moka:
Se vuoi che la tua richiesta asincrona venga completata prima che tutto il resto accada, devi usare il done
parametro nella tua richiesta precedente e chiamarlo nel callback.
Mocha aspetterà quindi fino a quando non done
viene chiamato per avviare l'elaborazione dei seguenti blocchi.
before(function (done) {
db.collection('user').remove({}, function (res) { done(); });
})
it('test spec', function (done) {
});
after(function() {});
Tuttavia, dovresti fare attenzione, poiché non eseguire lo stubbing del database per i test di unità potrebbe rallentare notevolmente l'esecuzione, poiché le richieste in un database potrebbero essere piuttosto lunghe rispetto alla semplice esecuzione del codice.
Per ulteriori informazioni, vedere la documentazione di Mocha .
before
gestore. Ad esempiobefore(function () { return db.collection...}