gpt4 book ai didi

mocha.js - 如何在 Mocha 钩子(Hook)之前设置超时?

转载 作者:行者123 更新时间:2023-12-03 09:20:21 25 4
gpt4 key购买 nike

我想在 mocha 测试用例的钩子(Hook)之前设置超时值。我知道我可以通过添加 -t 10000 来做到这一点在 mocha 的命令行上,但这会改变每个测试用例的超时值。我想找到一种以编程方式更改超时的方法,下面是我的代码:

describe('test  ', () => {

before((done) => {
this.timeout(10000);
...

它会提示这条线 this.timeout(1000)timeout没有定义。如何在 Hook 前设置超时。

最佳答案

按照 https://mochajs.org/#hook-level 的说明,您必须使用常规函数调用来设置超时。

before(function(done) {
this.timeout(3000); // A very long environment setup.
setTimeout(done, 2500);
});
如果你坚持使用 arrowasync Hook 中的功能。你可以这样做:
before(function (done) {
this.timeout(3000);
(async () => {
await initilizeWithPromise();
})().then(done);
});
如果您有多个异步调用要在钩子(Hook)中解决,这将非常有用且美观。
更新:函数 def 与 async 配合得很好也。所以这个钩子(Hook)可以升级为
before(async function () {
this.timeout(3000);
await initilizeWithPromise();
});
所以它提供了 this 的好处和 await .
顺便说一句,mocha 与 promises 配合得很好如今。如果超时不是问题。只需这样做:
before(async () => {
await initilizeWithPromise();
});

关于mocha.js - 如何在 Mocha 钩子(Hook)之前设置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41949895/

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