Ho il seguente metodo:Utilizzando moq per deridere solo alcuni metodi
public CustomObect MyMethod()
{
var lUser = GetCurrentUser();
if (lUser.HaveAccess)
{
//One behavior
}
else
{
//Other behavior
}
//return CustomObject
}
voglio deridere IMyInterface.GetCurrentUser
, in modo che durante la chiamata MyMethod
ho potuto ottenere a uno dei percorsi di codice a controllare. Come farlo con Moq?
sto facendo la cosa seguente:
var moq = new Mock<IMyInterface>();
moq.Setup(x => x.GetCurrentUser()).Returns(lUnauthorizedUser);
//act
var lResult = moq.Object.MyMethod();
Ma per qualche motivo è sempre lResult
null
e quando sto cercando di entrare in MyMethod
in di debug ho sempre saltare per l'istruzione successiva.
Dove è stato inizializzato l'uso di 'lUnauthorizedUser'? Immagino che tu voglia qualcosa come 'moq.Setup (x => x.GetCurrentUser()). Restituisce (nuovo utente() {HaveAccess = falso});' –
Tyler, sicuro che lo sto impostando nel codice sopra , semplicemente non l'ha incollato per mantenere il codice breve. –