を失敗した後、私はモカは、アサーションが失敗した後、私は私がしようと使用しようとした、アサーションが失敗した後に何かをやって継続する必要があり、このモカフロー制御アサーションが
it('test', function(done) {
a.should.equal(b);
//if a is not equal to be, won't go here
//do something
done();
}
のように、現在のテストケースの実行を停止だと思う...キャッチ、しかし、キャッチには「他」が存在しないので、私は
try {
a.should.equal(b)
} catch(e) {
console.log(e)
done(e)
} finally {
//do something
done()
}
をすれば、これは(行わ呼び出します)を2回、私はフラグを追加する必要が
var flag = true;
try {
a.should.equal(b)
} catch(e) {
console.log(e)
flag = false
done(e)
} finally {
//do something
if(flag)
done()
}
これはとても複雑だと思うので、もっと簡単な方法があるのだろうか?
実際には各テストケースが終了した後にやりたいので、afterEach()を使用するかもしれませんが、 "do something"は各テストケースとは異なるので、私はこれを使うことはできません。 – Keming
@KemingZengあなたは 'describe'ブロックをネストすることができるので、テストごとに1つを作成し、それぞれに' after'フックを付けることができます。 – robertklep
私はそれを行う別の方法を使用しますが、私はアフターフックがこれに対する良い解決策であるべきだと思います。ありがとうございました! – Keming