簡體   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