相关疑难解决方法(0)

使用moq仅模拟一些方法

我有以下方法:

public CustomObect MyMethod()
{
    var lUser = GetCurrentUser();
    if (lUser.HaveAccess)
    {
        //One behavior
    }
    else 
    {
        //Other behavior
    }

    //return CustomObject
}
Run Code Online (Sandbox Code Playgroud)

我想要模拟IMyInterface.GetCurrentUser,以便在调用时MyMethod我可以访问其中一个代码路径来检查它.如何用Moq做到这一点?

我正在做以下事情:

var moq = new Mock<IMyInterface>();            
moq.Setup(x => x.GetCurrentUser()).Returns(lUnauthorizedUser);

//act
var lResult = moq.Object.MyMethod();
Run Code Online (Sandbox Code Playgroud)

但由于某些原因lResult总是null,当我试图进入MyMethod调试时,我总是跳到下一个声明.

moq

61
推荐指数
4
解决办法
4万
查看次数

标签 统计

moq ×1