2008-09-16 8 views
4

Je dois créer un utilisateur et un fournisseur d'appartenance personnalisée pour une application mvc ASP.NET et je cherche à utiliser TDD. J'ai créé une classe User qui hérite de la classe MembershipUser, mais lorsque j'essaie de la tester, j'obtiens une erreur que je n'arrive pas à comprendre. Comment puis-je lui donner un nom de fournisseur valide? Ai-je juste besoin de l'ajouter à web.config? Mais je ne suis même pas en train de tester l'application web à ce stade.Comment puis-je TDD un fournisseur d'appartenances personnalisé et un utilisateur d'appartenance personnalisée?

[échec] UserTests.SetUp.UserShouldHaveMembershipUserProperties TestCase 'UserTests.SetUp.UserShouldHaveMembershipUserProperties' a échoué: Le nom du fournisseur de membre spécifié est invalide. Nom du paramètre: providerName System.ArgumentException Message: Le nom du fournisseur d'appartenance spécifié n'est pas valide. Nom du paramètre: providerName Source: System.Web

Répondre

7

La configuration pour ajouter à votre fichier de configuration du projet de test unitaire ressemblerait à quelque chose comme ceci:

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

http://aedenjameson.blogspot.com.au/2009/04/unit-testing-custom-membership -provider.html fournit une solution de contournement pour configurer des fournisseurs dans votre configuration. –

1

Oui, vous devez le configurer dans votre fichier de configuration (probablement pas web.config pour une bibliothèque de test, mais app.config). Vous utilisez toujours la section et à l'intérieur de cette section pour effectuer la configuration. Une fois que vous avez cela en place, vous serez en mesure d'instancier votre utilisateur et de le tester. À ce stade, vous allez probablement rencontrer de nouveaux problèmes, que vous devriez publier comme des questions distinctes, je pense.

Questions connexes