如何在setTimeout中测试用户指定的时间
How to test for user-specified time in setTimeout
现在我有一个jQuery插件,它添加了一些额外的自定义(关于如何在某些上下文中处理返回数据),并轮询服务器以获取信息和更改。所需的特性之一是允许用户设置轮询间隔。setTimeout
(与递归配对)是用于创建常量poll的函数;这也是一个要求。
这就是我被难住的地方:除了上面提到的所需功能外,我还必须测试用户指定的值是否在setTimeout中实际使用。从QUnit的角度来看,我该如何做呢?
我已经考虑过直接使用Date.getTime()计时函数,但目前设置的方式这不是一个选项。
考虑以一种方式重构代码,让您重写在测试中启动超时的方法,允许您验证通过了正确的值,而无需实际启动超时。
如果你真的需要调用setTimeout,可以考虑使用sinon.js来模拟setTimeout本身并控制它的行为。
相关文章:
- 获取用户按键的时间
- 确定用户按下键(onKeyUp)后的时间量
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- 获取用户和服务器时间之间的时间差
- 有关如何安全地记录用户回答测验挑战所需的时间的想法
- 当用户在文本框中输入日期时,如何计算一年的持续时间
- 关于用户界面:目标跟踪和运动时间研究
- 如果在线检查期间发生电源故障,我们如何更新用户再次登录门户时的剩余时间
- 用户如何获取两个时间戳之间的对象
- 即使用户正在导航到其他页面,也要在一段时间后打开弹出窗口
- 使用JavaScript将日期/时间添加到我的asp.net用户控件中
- 使用JS检查用户是否在EST时区和设置的EST时间范围内
- 如何定义搜索词框来搜索用户'使用Twitter流API和meter.js的特定时间线
- RUM(真实用户监控)用户感知的负载时间和位置
- 所需建议:使用服务器时间或用户机器的时间
- Facebook弹出窗口会记住用户喜欢的时间
- 计算服务器和用户时间之间的差异
- 授予用户帐户访问权限一段时间
- 每次用户点击按钮时,将“时间”存储在Firebase中
- 在更短的时间内使用javascript将用户重新编辑到另一个页面