现在我有一个 jQuery 插件,它添加了一些额外的自定义(围绕如何在某些上下文中处理返回数据)并轮询服务器以获取信息和更改。所需功能之一是允许用户设置轮询间隔。setTimeout
(与递归配对)是用于创建常量轮询的函数;这也是一个要求。
这就是我被难住的地方:除了上面提到的所需功能外,我还必须测试用户指定的值是否实际用于 setTimeout。从 QUnit 的角度来看,我将如何做到这一点?
我已经考虑过使用 Date.getTime() 直接为函数计时,但目前的设置方式不是一个选项。
现在我有一个 jQuery 插件,它添加了一些额外的自定义(围绕如何在某些上下文中处理返回数据)并轮询服务器以获取信息和更改。所需功能之一是允许用户设置轮询间隔。setTimeout
(与递归配对)是用于创建常量轮询的函数;这也是一个要求。
这就是我被难住的地方:除了上面提到的所需功能外,我还必须测试用户指定的值是否实际用于 setTimeout。从 QUnit 的角度来看,我将如何做到这一点?
我已经考虑过使用 Date.getTime() 直接为函数计时,但目前的设置方式不是一个选项。
考虑以某种方式重构代码,让您在测试中覆盖启动超时的方法,允许您验证是否传递了正确的值,而无需实际启动超时。
如果您需要实际调用 setTimeout,请考虑使用sinon.js来模拟 setTimeout 本身并控制它的作用。