我有以下方法:
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 });