Ale*_*x K 5 .net c# unit-testing moq mocking
我有以下方法
public bool IsUserAllowedToDoThings(string userName, string thingToDo)
{
var outputParameter = new ObjectParameter("IsAllowed", typeof(bool?));
_context.SP_IsUserAllowedToDoThings(userName, thingToDo, outputParameter);
return (bool)outputParameter.Value;
}
Run Code Online (Sandbox Code Playgroud)
该方法只是使用 EF 调用 SP 并返回 SP 的输出结果。但是我在模拟 SP 的输出进行单元测试时遇到了问题。PS 我正在使用 MOQ 框架进行模拟。
在第三次阅读最小起订量手册后,我终于找到了执行此操作的方法。这出奇的简单:
mockObjectContext.Setup(m => m.SP_IsUserAllowedToDoThings(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<ObjectParameter>())).Callback<string, string, ObjectParameter>((a, b, c) =>
{
c.Value = true;
});
Run Code Online (Sandbox Code Playgroud)