Ich entwickle gerade eine asp.net mvc 2 Anwendung, die den Standard SqlMembershipProvider für die Authentifizierung verwendet. Ich habe eine Controller-Methode implementiert, die den ProviderUserKey des aktuellen Benutzers durch Aufrufen von Membership.GetUser().ProviderUserKey
liest. Jetzt versuche ich, einige Testmethoden für diesen Controller zu schreiben.Mocking ein MembershipUser
Um der Abhängung auf die statische Membership-Klasse loszuwerden, habe ich eine dünne Hülle geschaffen und mein Controller auf der entsprechenden Schnittstelle abhängig:
public interface IStaticMembershipService {
MembershipUser GetUser();
void UpdateUser(MembershipUser user);
}
Bisher funktioniert alles, aber um Einheit -test den Controller, ich muss immer noch die GetUser()
Methode dieser Schnittstelle mock und ein MembershipUser-Objekt zurückgeben, das eine ProviderUserKey-Eigenschaft enthält. Was ist der einfachste Weg, ein solches Objekt zu verspotten?
Ich benutze Moq als Spott Framework.
Vielen Dank, erstellen Sie ein Mock der MembershipUser-Klasse funktioniert super. – Simon