Je pense que mocha cesse de fonctionner le cas de test courant après assertion échoue, comme celui-cicontrôle de flux Mocha après assertion échoue
it('test', function(done) {
a.should.equal(b);
//if a is not equal to be, won't go here
//do something
done();
}
je dois continuer à faire quelque chose après assertion échoue, j'ai essayé d'utiliser try ... catch , mais il n'y a pas « d'autre » pour combler le retard, donc si je
try {
a.should.equal(b)
} catch(e) {
console.log(e)
done(e)
} finally {
//do something
done()
}
cela fait appel() deux fois, donc je dois ajouter un drapeau,
var flag = true;
try {
a.should.equal(b)
} catch(e) {
console.log(e)
flag = false
done(e)
} finally {
//do something
if(flag)
done()
}
Je pense que c'est si compliqué, donc je me demande s'il y a un moyen plus facile de le faire?
en fait je voudrais le faire après chaque cas de test se termine, donc je peux utiliser afterEach(), mais le "faire quelque chose" diffère de chaque cas de test, donc je ne pense pas que je peux l'utiliser. – Keming
@KemingZeng vous pouvez imbriquer les blocs 'describe', donc vous pouvez en créer un pour chaque test, et avoir un crochet' after' pour chacun. – robertklep
J'utilise un autre moyen de le faire, mais je pense qu'après le crochet devrait être une bonne solution à cela. Je vous remercie! – Keming