Ho un'azione che si basa su User.Identity.Name per ottenere il nome utente dell'utente corrente per ottenere un elenco dei suoi ordini:regolatore prova di azione che utilizza User.Identity.Name
public ActionResult XLineas()
{
ViewData["Filtre"] = _options.Filtre;
ViewData["NomesPendents"] = _options.NomesPendents;
return View(_repository.ObteLiniesPedido(User.Identity.Name,_options.Filtre,_options.NomesPendents));
}
Ora Sto provando a scrivere test unitari per questo, ma rimango bloccato su come fornire un Mock per User.Identity.Name. Se eseguo il test come ho fatto io (senza simulazione per Utente ...), ottengo un'eccezione Null ....
Qual è l'approccio corretto per questo? Sto pensando che il mio codice di azione non è buono per i test unitari.
Grande. Devo guardare più in ActionFilters ... Grazie. –
Spesso simulo IPrincipal per i miei test. Mi permette di testare le informazioni dell'utente (username) ma anche l'autorizzazione (User.Identity.IsInRole). –
Anche io. D'altra parte, il mocking di IPrincipal solo per ottenere l'accesso al nome utente dell'utente corrente - e * nothing * else - è al limite dell'overkill ... :) –