我有以下方法:
public CustomObect MyMethod()
{
var lUser = GetCurrentUser();
if (lUser.HaveAccess)
{
//One behavior
}
else
{
//Other behavior
}
//return CustomObject
}
我想模拟IMyInterface.GetCurrentUser
,以便在调用时MyMethod
可以转到其中一个代码路径进行检查。Moq怎么做?
我正在做以下事情:
var moq = new Mock<IMyInterface>();
moq.Setup(x => x.GetCurrentUser()).Returns(lUnauthorizedUser);
//act
var lResult = moq.Object.MyMethod();
但是由于某些原因lResult
,总是如此null
,当我尝试进入MyMethod
调试程序时,我总是跳到下一条语句。
lUnauthorizedUser
初始化?我想您会想要类似moq.Setup(x => x.GetCurrentUser()).Returns(new User() { HaveAccess = false });