簡體   English   中英

如何對將在計時器處理程序中調用委托的方法進行單元測試?

[英]How to unit test a method which will invoke a delegate in a timer handler?

我想驗證委托調用的正確性,但是我必須等待計時器引發它的事件(大約5秒),所以我應該在我的單元測試代碼中執行一些操作,例如Thread.Sleep(5000),我認為這不是單元測試中的最佳實踐。

對於這種情況還有更好的主意嗎?

模擬計時器並引發事件,無需等待

您需要解耦使用計時器的代碼,並使它依賴於某些抽象。 假設您自己的接口ITimer並將其作為依賴項注入。

這樣就很容易模擬出ITimer以立即引發事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM