我目前正在C#中編寫一個簡單的基於計時器的迷你應用程序,每k秒執行一次動作n次。
我試圖採用測試驅動的開發風格,所以我的目標是單元測試應用程序的所有部分。單元測試基於計時器的應用程序?
所以,我的問題是:有單位測試基於計時器的類的好方法嗎?
正如我所看到的那樣,問題在於測試將花費很長的時間執行很大的風險,因爲他們必須等待期望的動作發生。
特別是如果你想要現實的數據(秒),而不是使用框架允許的最小時間分辨率(1毫秒?)。
我正在使用模擬對象執行操作,註冊操作次數被調用的次數,以便該操作幾乎不需要任何時間。
我看到你的方法唯一的問題是,你可能不得不暴露每次民意調查發生的事情,這是一個好主意嗎?即暴露你不需要進行測試的東西。另一種選擇可能是內部的(和InternalsVisibleTo),但很多人也不喜歡這樣做 – roundcrisis 2012-09-13 11:22:37