Wie man den UserManager in ASP.NET ausspioniert 5

8

Ich schreibe eine Benutzeroberfläche zum Verwalten von Benutzern in einer ASP.NET 5 -App. Ich muss alle Fehler anzeigen, die vom UserManager auf der Benutzeroberfläche zurückgegeben werden. Ich habe die IdentityResult -Fehler, die im Ansichtsmodell zurückgegeben werden, aber ich bin eine Berührung adrift, wenn es darum geht, meinen Code zu testen.

Was ist der beste Weg, die UserManager in ASP.NET 5 zu verprügeln?

Sollte ich von UserManager übernehmen und alle Methoden außer Kraft setzen und meine Version von UserManager in eine Instanz von Controller in meinem Testprojekt einfügen?

    
hally9k 20.12.2015, 18:50
quelle

1 Antwort

16

Ich habe es mit Hilfe der MVC Music Store Beispielanwendung geschafft.

In meiner Unit-Test-Klasse habe ich den Datenbankkontext und den UserManager wie folgt eingerichtet:

%Vor%

Dann kann ich den UserManager in meinen Komponententests verwenden, zum Beispiel:

%Vor%

Wenn Ihr Abhängigkeitsinjektor einen IHttpContextAccessor nicht auflösen kann, können Sie keine UserManager-Instanz erstellen, da sie davon abhängig ist. Ich denke (und dies ist nur eine Annahme), dass der UserManager mit Asp.Net 5 auf das Aktualisieren von cookie-basierten Ansprüchen achtet, wenn Sie diese für einen Benutzer ändern (Ansprüche, Rollen ...) und daher einen HttpContext für die Anmeldung benötigen / Logout-Aktionen und Cookie-Zugriff.

    
GeorgDangl 13.01.2016, 11:46
quelle