Как мне TDD настраиваемый поставщик членства и пользовательский членство? - PullRequest
4 голосов
/ 17 сентября 2008

Мне нужно создать пользовательского пользователя и провайдера для приложения ASP.NET mvc, и я хочу использовать TDD. Я создал класс User, который наследуется от класса MembershipUser, но когда я пытаюсь проверить его, я получаю ошибку, которую не могу понять. Как я могу дать ему правильное имя провайдера? Мне просто нужно добавить его в web.config? Но сейчас я даже не тестирую веб-приложение.

[ошибка] UserTests.SetUp.UserShouldHaveMembershipUserProperties TestCase 'UserTests.SetUp.UserShouldHaveMembershipUserProperties' ошибка: указанное имя поставщика членства недействительно. Имя параметра: providerName System.ArgumentException Сообщение: указанное имя поставщика членства недействительно. Имя параметра: providerName Источник: System.Web

Ответы [ 2 ]

7 голосов
/ 28 октября 2008

Конфигурация, которую нужно добавить в файл конфигурации проекта модульного тестирования, будет выглядеть примерно так:

  <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 голос
/ 17 сентября 2008

Да, вам нужно настроить его в вашем файле конфигурации (вероятно, не web.config для тестовой библиотеки, а app.config). Вы по-прежнему используете этот раздел и внутри этого раздела, чтобы выполнить настройку. Как только вы это сделаете, вы сможете создать экземпляр своего пользователя и приступить к его тестированию. В этот момент вы, вероятно, столкнетесь с новыми проблемами, которые, я думаю, вы должны будете опубликовать в виде отдельных вопросов.

...