Javascript 如何在setTimeout中测试用户指定的时间
现在我有了一个jQuery插件,它添加了一些额外的定制,围绕如何在特定上下文中处理返回数据以及轮询服务器以获取信息和更改。所需功能之一是允许用户设置轮询间隔。setTimeout与递归是用于创建常量轮询的函数;这也是一项要求 这就是我被难住的地方:除了上面提到的必需功能之外,我还必须测试用户指定的值是否在setTimeout中实际使用。从质量的角度来看,我该怎么做Javascript 如何在setTimeout中测试用户指定的时间,javascript,jquery,testing,asynchronous,qunit,Javascript,Jquery,Testing,Asynchronous,Qunit,现在我有了一个jQuery插件,它添加了一些额外的定制,围绕如何在特定上下文中处理返回数据以及轮询服务器以获取信息和更改。所需功能之一是允许用户设置轮询间隔。setTimeout与递归是用于创建常量轮询的函数;这也是一项要求 这就是我被难住的地方:除了上面提到的必需功能之外,我还必须测试用户指定的值是否在setTimeout中实际使用。从质量的角度来看,我该怎么做 我已经考虑过直接使用Date.getTime对函数计时,但目前的设置方式不是一个选项。考虑重构代码,让您覆盖在测试中启动超时的方法,
我已经考虑过直接使用Date.getTime对函数计时,但目前的设置方式不是一个选项。考虑重构代码,让您覆盖在测试中启动超时的方法,允许您验证是否传递了正确的值,没有实际启动超时
如果您需要实际调用SETTIMEOUT,请考虑使用它来模拟StimeTimeUT并控制它所做的操作。
BTW,我理解您可以手动查看并查看是否正常工作。但这需要从QUnit的角度进行测试……目前sinon.js似乎已关闭,但您仍然可以从GitHub获得代码: