Авторизация WebPages в юнит-тестировании

Чтобы добавить возможность управлять пользователями в юнит-тесты, установите в проект QualityTools.UnitTestFramework пакет

PM> Install-Package Microsoft.AspNet.WebPages.WebData

Первым делом добавьте инициализацию в тестовый метод, с указанием имени строки подключения:

WebSecurity.InitializeDatabaseConnection(«DefaultConnection», «UserProfile», «UserId», «UserName», autoCreateTables: false);

Это позволит вызывать далее методы работы с учётками, типа

WebSecurity.UserExists(«aaa»);

Последним шагом добавьте в app.config раздел system.web, чтобы всё заработало:

<system.web>
<roleManager enabled=»true» defaultProvider=»SimpleRoleProvider»>
<providers>
<clear />
<add name=»SimpleRoleProvider» type=»WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData» />
</providers>
</roleManager>
<membership defaultProvider=»SimpleMembershipProvider»>
<providers>
<clear />
<add name=»SimpleMembershipProvider» type=»WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData» />
</providers>
</membership>
<sessionState mode=»InProc» customProvider=»DefaultSessionProvider»>
<providers>
<add name=»DefaultSessionProvider» type=»System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ connectionStringName=»DefaultConnection» />
</providers>
</sessionState>
</system.web>