Wie TDD ich einen benutzerdefinierten Mitgliedschaftsanbieter und individuelle Mitgliedschaft Benutzer?

StackOverflow https://stackoverflow.com/questions/76781

  •  09-06-2019
  •  | 
  •  

Frage

Ich brauche ein benutzerdefinierten Mitgliedschafts Benutzer und Anbieter für einen ASP.NET MVC-app zu erstellen, und ich bin auf der Suche TDD zu verwenden. Ich habe eine User-Klasse erstellt, die von der MembershipUser Klasse erbt, aber wenn ich versuche, es zu testen ich einen Fehler, dass ich nicht herausfinden kann. Wie kann ich ihm einen gültigen Provider-Namen geben? Muss ich es einfach web.config hinzufügen? Aber ich bin nicht einmal die Prüfung des Web-App an dieser Stelle.

[Versagen] UserTests.SetUp.UserShouldHaveMembershipUserProperties Testcase ‚UserTests.SetUp.UserShouldHaveMembershipUserProperties‘ fehlgeschlagen: Der Name Mitgliedschaftsanbieter angegeben ist ungültig. Parametername: provider     System.ArgumentException     Nachricht: Der Mitgliedschaftsanbieter angegebene Name ist ungültig.     Parametername: provider     Quelle: System.Web

War es hilfreich?

Lösung

Die Konfiguration auf das Gerät Testprojekt Konfigurationsdatei hinzufügen, etwa wie folgt aussehen:

  <connectionStrings>
     <remove name="LocalSqlServer"/>
     <add name="LocalSqlServer" connectionString="<connection string>" providerName="System.Data.SqlClient"/>
  </connectionStrings>
  <system.web>
     <membership defaultProvider="provider">
       <providers>
         <add name="provider" applicationName="MyApp" type="System.Web.Security.SqlMembershipProvider" connectionStringName="LocalSqlServer" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false" maxInvalidPasswordAttempts="3" passwordAttemptWindow="15"/>
       </providers>
     </membership>
  </system.web>

Andere Tipps

Ja, müssen Sie es in der Konfigurationsdatei konfigurieren (wahrscheinlich nicht web.config für eine Testbibliothek, aber app.config). Sie verwenden noch den Abschnitt und innerhalb dieses Abschnitts die Konfiguration zu tun. Sobald Sie, dass an der richtigen Stelle, können Sie Ihre Benutzer instanziiert und gehen über sie zu testen. An welcher Stelle Sie wahrscheinlich neue Probleme auftreten werden, die Sie als separate Fragen stellen sollte, denke ich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top