摩卡咖啡等待测试setTimeout函数

弗雷泽·威尔逊

我有一个函数,在稍微延迟后会调用另一个函数:

const messageboxes = {    
    fade: target => {
        target.classList.add('fade');
        window.setTimeout(messageboxes.hide, 350, target);
    },
    hide: el => {
        el.classList.add('displayNone');
        el.parentNode.removeChild(el);
    }
};

这可以正确添加渐变类,然后在350ms之后添加“ displayNone”类并删除元素。在mocha中,我可以模拟使用jsdom单击元素并检查'fade'类,但是要等待350ms来检查'dislpayNone'类。

我能找到的所有示例都与http请求的承诺有关,但我只想暂停一下-这里有解决方案吗?

ish

您必须向Mocha发出执行结束的信号:

describe('setTimeout test', function(){

 it('Use `done` callback', function(done){
   window.setTimeout(function(){
     // Assert here.
     done();
   }, 350);
 });

 it('Return promise', function(){
   return new Promise((resolve, reject) => window.setTimeout(function(){
     // Assert here.
     resolve();
   }, 350));
 });

});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章