gpt4 book ai didi

javascript - 如何在 Mocha 测试用例中使用 setTimeout() 函数?

转载 作者:IT老高 更新时间:2023-10-28 23:23:01 25 4
gpt4 key购买 nike

我正在用 Mocha/Node js 编写一个测试,并想使用 setTimeout 在执行代码块之前等待一段时间。

我怎样才能做到这一点?

似乎在 Mocha 测试用例中,setTimeout() 不起作用。 (我知道您可以为每个测试用例和每个测试文件设置超时,这不是我需要的。)

在使用Node运行的js文件中,即node miniTest.js,这将等待3秒,然后打印setTimeout函数内的行。

miniTest.js

console.log('waiting 3 seconds...');
setTimeout(function() {
console.log('waiting over.');
}, 3000);

在使用 Mocha 运行的 js 文件中,即 mocha smallTest.js,它不会等待,并且将完成执行并退出,而不会打印 setTimeout 函数中的行。

smallTest.js:

mocha = require('mocha');

describe('small test', function() {
it('tiny test case', function() {
console.log('waiting 3 seconds...');
setTimeout(function () {
console.log('waiting over.')
}, 3000);
});
});

最佳答案

您忘记在 it('tiny test case', function() 中传递参数并在 setTimeout 方法中的 console.log 之后调用 done()。

describe('small test', function(){
it('tiny test case', function(done){
console.log('waiting 3 seconds');
setTimeout(function(){
console.log('waiting over.');
done();
}, 3000)
})
})

关于javascript - 如何在 Mocha 测试用例中使用 setTimeout() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32730169/

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