模拟存储过程的输出参数

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;
        });