Come faccio a TDD un fornitore di abbonamento personalizzato e un utente di abbonamento personalizzato?

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

  •  09-06-2019
  •  | 
  •  

Domanda

Devo creare un utente e un provider di appartenenza personalizzati per un'app mvc ASP.NET e sto cercando di utilizzare TDD.Ho creato una classe User che eredita dalla classe MembershipUser, ma quando provo a testarla ricevo un errore che non riesco a capire.Come posso assegnargli un nome fornitore valido?Devo solo aggiungerlo a web.config?Ma a questo punto non sto nemmeno testando l'app Web.

fallimento] usertests.setup.usershouldHaveMembershipUserProperties TestCase 'usertests.setup.usershouldHaveMeMembersHipUserProperties' non riuscito:Il nome del provider di appartenenza specificato non è valido.Nome del parametro:ProviderName System.ArgumentException Messaggio:Il nome del provider di appartenenza specificato non è valido.Nome del parametro:ProviderName Fonte:Sistema.Web

È stato utile?

Soluzione

La configurazione da aggiungere al file di configurazione del progetto di unit test sarebbe simile a questa:

  <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>

Altri suggerimenti

Sì, devi configurarlo nel tuo file di configurazione (probabilmente non web.config per una libreria di test, ma app.config).Utilizzi ancora la sezione e all'interno di essa la sezione per eseguire la configurazione.Una volta installato, sarai in grado di creare un'istanza del tuo utente e iniziare a testarlo.A quel punto probabilmente incontrerai nuovi problemi, che dovresti pubblicare come domande separate, credo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top