tengo el siguiente método:moq burlarse sólo algunos métodos
public CustomObect MyMethod()
{
var lUser = GetCurrentUser();
if (lUser.HaveAccess)
{
//One behavior
}
else
{
//Other behavior
}
//return CustomObject
}
Quiero burlarse IMyInterface.GetCurrentUser
, por lo que, si bien llamando MyMethod
que pudiera llegar a una de las rutas de código para comprobarlo. ¿Cómo hacer eso con Moq?
que estoy haciendo lo siguiente:
var moq = new Mock<IMyInterface>();
moq.Setup(x => x.GetCurrentUser()).Returns(lUnauthorizedUser);
//act
var lResult = moq.Object.MyMethod();
Pero por alguna razón siempre es lResult
null
y cuando estoy tratando de entrar en MyMethod
de depuración Siempre estoy saltando a la siguiente instrucción.
¿Dónde tiene inicializado 'lUnauthorizedUser'? Me imagino que querrías algo como 'moq.Setup (x => x.GetCurrentUser()). Devuelve (new User() {HaveAccess = false});' –
Tyler, seguro que lo estoy configurando en el código anterior , simplemente no lo pegó para mantener el código corto. –