2020年9月5日 星期六

單元測試 - Fake 模擬系統環境參數

有時測試會需要模擬系統環境參數,而Fake 是其中的選項之一,但其限制Visual Studio Ultimate版本才支援,其中還有一些眉角..

有個需求為 Pub 週五才開店,會有個方法 IsOpen 來判斷(如下),因為是判斷當下日子,測試的話無法一直改系統的時間, 

故需要 Fake object 輔助。


建立單元測試專案,建立好後,在組件System(因DatetTime 在System 組件中)點選滑鼠右鍵,點選「新增Fake 組件」, 

此時會跑一陣子,並生成 Fake 相關組件

 

 

開始撰寫測試程式,記得要using Microsoft.QualityTools.Testing.Fakes

並且使用 ShimsContext.Create() 來建立模擬區塊,並且指定 2020-7-3 日子會通過測試

 

以上是順利的部分

如文章開頭有提到的,實際會遭遇如下錯誤,需要將 .net framework 換成 4.8 編譯方可通過。

 參考

 

沒有留言:

張貼留言