[英]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.