Как мне установить TDD между поставщиком пользовательского членства и пользователем пользовательского членства?
-
09-06-2019 - |
Вопрос
Мне нужно создать пользовательского пользователя и поставщика членства для приложения ASP.NET mvc, и я собираюсь использовать TDD.Я создал класс User, который наследуется от класса MembershipUser, но когда я пытаюсь его протестировать, я получаю ошибку, которую не могу понять.Как мне присвоить ему действительное имя поставщика?Мне просто нужно добавить его в web.config?Но на данный момент я даже не тестирую веб-приложение.
[сбой] Пользовательские тесты.SetUp.UserShouldHaveMembershipUserProperties Пользовательские тесты TestCase.SetUp.UserShouldHaveMembershipUserProperties' сбой:Указанное имя поставщика членства недопустимо.Имя параметра:ProviderName System.Исключение ArgumentException Сообщение:Указанное имя поставщика членства недопустимо.Имя параметра:Имя поставщика Источник:Система.Веб
Решение
Конфигурация, которую нужно добавить в файл конфигурации вашего проекта модульного тестирования, будет выглядеть примерно так:
<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>
Другие советы
Да, вам нужно настроить его в вашем файле конфигурации (вероятно, не web.config для тестовой библиотеки, а app.config).Вы по-прежнему используете этот раздел и внутри него раздел для настройки.Как только у вас это будет на месте, вы сможете создать экземпляр своего пользователя и приступить к его тестированию.В этот момент вы, скорее всего, столкнетесь с новыми проблемами, которые, я думаю, вам следует опубликовать в виде отдельных вопросов.