時間的全域存根。 Now()
在測試中,控製程式碼的時間相關方面變得至關重要。然而,由於在多個程式碼段中廣泛使用,全域刪除 time.Now() 可能具有挑戰性。
建議方法:自訂時間介面
目前的實作使用自訂介面是一個有效的解決方案。以下是此方法的摘要:
替代方案
強烈建議不要在測試期間更改系統時鐘,因為它可能會導致不可預見的依賴關係。 >限制
存根time.Now() 在全球範圍內都有其限制。 例如,如果被測程式碼使用依賴系統時間的第三方函式庫,則可能無法覆寫其行為。 🎜>
無狀態碼的好處設計具有盡可能少的有狀態的程式碼可以簡化測試並促進並發性。
以上是如何有效地全域存根「time.Now()」進行測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!