2009-03-18 7 views
5

Non sono sicuro di come prendere in giro un'iscrizione ASP.NET per il test del mio controller.ASP.NET MVC - Mock Membership per Controller Test

Codice Controller:

MembershipUser username = Membership.GetUser(); 
string UserID = username.UserName.ToString(); 

Qualcuno sa come prendere in giro questo per un test di controllo? Sto usando RhinoMocks.

risposta

5

Ho iniziato a lavorare su qualcosa di simile. Invece di fare una vera finta, ho creato un FakeMembershipProvider che implementa il minimo di MembershipProvider di cui ho bisogno e fornisce un modo per impostare gli utenti e così via. Sto facendo lo stesso per RoleProvider. Quindi ho impostato App.config per il mio progetto di test in modo che utilizzi questi come provider.

Finora sembra funzionare bene.

-1

Per simulare gli oggetti connessi con la classe statica Membership, è necessario utilizzare le sue classi astratte in questo caso, per deridere il metodo GetUser(), utilizzare la classe MembershipProvider, è possibile simulare, basta passarlo al controller ed è fatto.

Buona fortuna, se hai qualche problema, lasciami solo ora, posterò alcuni esempi di codice.