[英]How to Moq a method in C# whose input parameter is of type Enum
如何在 C# 中最小化輸入參數為 Enum 類型的方法?
Moq.MockRepository mock = new Moq.MockRepository(MockBehaviour.Loose);
var myInstance =mock.Create<IMyMethod>();
myInstance.SetUp(x=>x.myMethod(It.IsAny<**`EnumType`**>()).Verifiable();
如何在此處提供 ENUMType
我相信你需要做到以下幾點。
mock.Setup(s => s.YourMethod(It.IsAny<YourEnumType>())).Verifiable();
顯然,請記住將此文件鏈接到保存枚舉類型的任何位置的 using 語句。
也作為額外的說明。 為了使這個動態(所以你不只是采取任何,你實際上使用進入的值來決定你的模擬返回什么)你可以執行以下操作
mock.Setup(s => s.YourMethod(It.IsAny<YourEnumType>()))
.ReturnsAsync((YourEnymType enumType)
=> yourMock.Where(x => x.EnumValue == enumType).SingleOrDefault());
注意這是為異步完成的,如果您不執行異步,請將“ReturnsAsync”切換為“Returns”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.