Sto testando un controller MVC che si basa su un valore restituito da una proprietà di sola lettura sulla classe base.Sostituisci solo la proprietà read in oggetto parzialmente beffato
Il getter per questa proprietà genera un'eccezione quando viene chiamato poiché si basa su uno HttpContext
(e altre cose brutte) che preferirei evitare di deridere.
Questo è quello che ho provato finora:
controller = Substitute.ForPartsOf<MyController>(
Substitute.For<SomeDependency>(),
);
controller.UserInfo.Returns(new UserInfo());
Eppure questo genera un'eccezione, non appena si accede UserInfo.
proprietà su base di classe è:
public UserInfo UserInfo
{
get
{
// HttpContext dependent stuff
}
}
Ho provato impostando la proprietà classe base al virtuale, ma poi ho un'un'eccezione procura Castello.
Puoi aggiungere una dipendenza a 'MyController' che accede a' UserInfo' e cose correlate? Al momento del test passare in un 'FakeUserInfoProvider' e in fase di esecuzione utilizzare un' HttpContextUserInfoProvider'? –