簡體   English   中英

如何在 C# 中 Moq 輸入參數為 Enum 類型的方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM