模拟存储过程的输出参数
Mocking stored procedure's output parameter
我有以下方法
public bool IsUserAllowedToDoThings(string userName, string thingToDo)
{
var outputParameter = new ObjectParameter("IsAllowed", typeof(bool?));
_context.SP_IsUserAllowedToDoThings(userName, thingToDo, outputParameter);
return (bool)outputParameter.Value;
}
该方法只是调用 SP 使用 EF 和 return SP 的输出结果。但是我在模拟 SP 的单元测试输出时遇到了问题。
P.S。我正在使用最小起订量框架进行模拟。
在第三次阅读最小起订量手册后,我终于找到了这样做的方法。这非常简单:
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;
});
我有以下方法
public bool IsUserAllowedToDoThings(string userName, string thingToDo)
{
var outputParameter = new ObjectParameter("IsAllowed", typeof(bool?));
_context.SP_IsUserAllowedToDoThings(userName, thingToDo, outputParameter);
return (bool)outputParameter.Value;
}
该方法只是调用 SP 使用 EF 和 return SP 的输出结果。但是我在模拟 SP 的单元测试输出时遇到了问题。 P.S。我正在使用最小起订量框架进行模拟。
在第三次阅读最小起订量手册后,我终于找到了这样做的方法。这非常简单:
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;
});