21
A
回答
24
「何時」可讓您選擇對同一個模擬對象進行不同設置,具體取決於您需要決定的任何設置。假設您想測試您編寫的格式提供程序。如果程序(= test)在早上運行,某個函數調用應該返回null;在下午有一定的價值。然後你可以使用「When」來寫這些條件設置。
var mockedService = new Mock<IFormatProvider>();
mockedService.When(() => DateTime.Now.Hour < 12).Setup(x => x.GetFormat(typeof(string))).Returns(null);
mockedService.When(() => DateTime.Now.Hour >= 12).Setup(x => x.GetFormat(typeof(string))).Returns(42);
2
使用此方法,您可以在Mock<T>.When(...)
中設置的條件評估爲true時配置模擬對象的行爲。這使你的模擬對象根據給定的條件作出不同的反應。
相關問題
- 1. 表達<Func鍵<T, bool>>方法參數
- 2. 無法從Func鍵<T>
- 3. 用法的 「表達<Func鍵<對象,布爾>>」
- 4. 無法瞭解如何編寫代碼Func鍵<Func<T1, T2>,T3>
- 5. Func鍵委託聲明的方法
- 6. PCL - 無法從Func鍵<IThing<T>>轉換爲Func鍵<Object>一些目標
- 7. Func鍵<>和Action <>無法找到
- 8. 將函數Func <IList, int>轉換爲Func <IEnumerable,int>?方法
- 9. 無法爲接受方法推斷實際類型<Func>
- 10. TaskFactory.StartNew <TResult>方法(Func <Object,TResult>,Object)
- 11. C#:當用作方法的返回值時,Func <>是什麼意思?
- 12. 通Func鍵<>選擇
- 13. 上Func鍵<T>
- 14. FUNC鍵,列出<string>
- 15. 將表達式轉換<Func鍵<TProperty>>到Func鍵<TObject的,TProperty> TObject的地方被稱爲
- 16. 如何用Func <>創建linq擴展方法?
- 17. 使用Func返回值的C#並行任務方法<>
- 18. 如何使用Task.Run(Func <Task> f)方法簽名?
- 19. 通用方法的C#:Func <T, TResult>
- 20. 我應該用Func <T>代替私人方法嗎?
- 21. 表達<Func鍵<T, bool>>從F#FUNC
- 22. 表達<Func鍵<T, object>>的通用開箱表達式<Func鍵<T, TResult>>
- 23. 無法在表達式<Func<...>>和Func <...>之間轉換
- 24. 使用Func鍵<T>參數
- 25. 驗證使用Func鍵<T,bool>
- 26. 轉換表達<Func鍵<FromType>>以表達<Func<ToType>>
- 27. 更改didSelectRowAtIndexPath方法FUNC IndexPath
- 28. 重載通用擴展方法與約束 - 的Func鍵模式
- 29. Func鍵<sometype。這時候,布爾>到Func鍵<T,bool>
- 30. VB.NET相當於Func鍵