Para nuevas versiones de moca:
Ahora puede devolver una promesa a mocha, y mocha esperará a que se complete antes de continuar. Por ejemplo, se aprobará la siguiente prueba:
let a = 0;
before(() => {
return new Promise((resolve) => {
setTimeout(() => {
a = 1;
resolve();
}, 200);
});
});
it('a should be set to 1', () => {
assert(a === 1);
});
Puedes encontrar la documentación aquí
Para versiones antiguas de moca:
Si desea que su solicitud asincrónica se complete antes de que suceda todo lo demás, debe usar el done
parámetro en su solicitud anterior y llamarlo en la devolución de llamada.
Mocha esperará entonces hasta que done
sea llamado para comenzar a procesar los siguientes bloques.
before(function (done) {
db.collection('user').remove({}, function (res) { done(); });
})
it('test spec', function (done) {
});
after(function() {});
Sin embargo, debe tener cuidado, ya que no copiar la base de datos para las pruebas unitarias puede ralentizar mucho la ejecución, ya que las solicitudes en una base de datos pueden ser bastante largas en comparación con la ejecución de código simple.
Para obtener más información, consulte la documentación de Mocha .
before
controlador. Por ejemplobefore(function () { return db.collection...}