繁体   English   中英

如何在 setTimeout 中测试用户指定的时间

[英]How to test for user-specified time in setTimeout

现在我有一个 jQuery 插件,它添加了一些额外的自定义(关于如何在某些上下文中处理返回数据)并轮询服务器以获取信息和更改。 所需功能之一是允许用户设置轮询间隔。 setTimeout (与递归配对)是用于创建常量轮询的 function; 这也是一个要求。

这就是我被难住的地方:除了上面提到的所需功能外,我还必须测试用户指定的值是否实际用于 setTimeout。 从 QUnit 的角度来看,我将如何 go 这样做?

我已经考虑过使用 Date.getTime() 直接为 function 计时,但目前的设置方式不是一个选项。

考虑以某种方式重构代码,让您在测试中覆盖启动超时的方法,允许您验证是否传递了正确的值,而无需实际启动超时。

如果您需要实际调用 setTimeout,请考虑使用sinon.js来模拟 setTimeout 本身并控制它的作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM