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

前端之家收集整理的这篇文章主要介绍了javascript – 如何在Mocha测试用例中使用setTimeout()函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在Mocha / Node js中编写测试,并希望在执行代码块之前使用setTimeout等待一段时间.

我怎么能做到这一点?

看来在Mocha测试用例中,setTimeout()不起作用. (我知道你可以为每个测试用例和每个测试文件设置setTimeout,这不是我在这里需要的.)

在使用Node运行的js文件中,即节点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);
    });
});

解决方法

您忘记在setTimeout方法中的console.log之后传递参数(‘tiny test case’,function()和call done()).
describe('small test',function(){
   it('tiny test case',function(done){
       console.log('waiting 3 seconds');
       setTimeout(function(){
           console.log('waiting over.');
           done();
       },3000)
   })
})
原文链接:https://www.f2er.com/js/159407.html

猜你在找的JavaScript相关文章