Ваш пример должен работать.Однако вы получите эту ошибку, когда ожидание не удастся.Для этого оберните ваш setTimeout
в Promise
и убедитесь, что вы вызываете done
в следующем методе then.
Считается, что bad practice
из-за этого, чтобы поместить метод done
вта же область, что и то, что вы тестируете.
it('asserts after timeout', (done) => {
(new Promise((resolve,reject)=>{
setTimeout(() => {
resolve();
}, 500);
}))
.then(()=>expect(1).to.be.equal(1))
.then(()=>done(), done);
});