gpt4 book ai didi

javascript - 断言失败后的 Mocha 流控

转载 作者:行者123 更新时间:2023-11-30 21:04:23 26 4
gpt4 key购买 nike

我觉得mocha会在断言失败后停止运行当前的测试用例,像这样

it('test', function(done) {
a.should.equal(b);
//if a is not equal to be, won't go here
//do something
done();
}

我需要在断言失败后继续做一些事情,我尝试使用try...catch,但是没有“else”用于catch,所以如果我这样做

try {
a.should.equal(b)
} catch(e) {
console.log(e)
done(e)
} finally {
//do something
done()
}

这将调用 done() 两次,所以我必须添加一个标志,

var flag = true;
try {
a.should.equal(b)
} catch(e) {
console.log(e)
flag = false
done(e)
} finally {
//do something
if(flag)
done()
}

我觉得这太复杂了,所以我想知道是否有更简单的方法来做?

最佳答案

after Hook 在测试失败时仍会被调用,因此您可以将测试置于具有此类 Hook 的上下文中:

describe('suite', function() {

after(function(done) {
// do something
done();
});

it('test', function(done) {
a.should.equal(b);
done();
}

});

关于javascript - 断言失败后的 Mocha 流控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46797661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com