如何解决如何在C#中对输入参数为Enum类型的方法进行Moq
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”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。