繁体   English   中英

模拟存储过程的输出参数

[英]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;
    }

该方法只使用EF调用SP并返回SP的输出结果。 但我在模拟SP的单元测试输出方面遇到了问题。 PS我正在使用MOQ框架进行模拟。

在第三次阅读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;
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM