【发布时间】:2021-04-01 22:50:49
【问题描述】:
我有以下方法:
public CustomObect MyMethod()
{
var lUser = GetCurrentUser();
if (lUser.HaveAccess)
{
//One behavior
}
else
{
//Other behavior
}
//return CustomObject
}
我想模拟IMyInterface.GetCurrentUser,以便在调用MyMethod 时可以访问其中一个代码路径来检查它。起订量如何做到这一点?
我正在做以下事情:
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 }); -
Tyler,肯定是我
m setting it in the above code, just didnt 粘贴它以保持代码简短。
标签: moq