У меня есть следующий метод в моем проекте unit test:
[TestMethod]
[HostType("ASP.NET")]
[UrlToTest("http://localhost:3418/Web/SysCoord/ChooseEPA.aspx")]
[AspNetDevelopmentServerHost("%PathToWebRoot%")]
public void TestMethod1()
{
Page page = TestContext.RequestedPage;
Assert.IsTrue(false, "Test ran, at least.");
}
Я получаю это исключение:
Тест-адаптер "WebHostAdapter" выдал исключение при запуске теста "TestMethod1". Не удалось правильно настроить веб-сайт; получение информации о процессе ASP.NET не удалось. Запрос http://localhost:3418/SysCoord/VSEnterpriseHelper.axd 'возвратил ошибку: Удаленный сервер ответил на ошибку: (404) Не найдено. Удаленный сервер ответил на ошибку: (404) Не найден.
Страница работает так, как должна в браузере по URL: http://localhost:3418/Web/SysCoord/ChooseEPA.aspx.
Этот физический путь: C:\ESI\HR_Connect2\BenefitChangeSystem\Application_DEV\Web\SysCoord.
Любые идеи будут оценены.
Обновление 1
Добавлено следующее в мой файл web.config в этой статье. Также сделал web.config доступным для записи и убил/перезапустил веб-сервер разработки. Никаких изменений в поведении.
<location path="VSEnterpriseHelper.axd">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Обновление 2
Изменение атрибута AspNetDevelopmentServerHost в эквиваленте [AspNetDevelopmentServerHost ( "% PathToWebRoot%\solutionfolder\webfolder", "/webfolder" )] разрешило проблему 404.
К сожалению, тест начал возвращать 500 ошибок. Прогресс, но не много. Пробная версия и ошибка с чистым проектом привели к выводу, что проблемы с пользовательскими классами в web.config вызывали проблему.
Например:
<profile enabled="true" defaultProvider="MyProfileProvider">
<providers>
<add name="MyProfileProvider" connectionStringName="ProfileConnectionString" applicationName="/MyApp" type="System.Web.Profile.SqlProfileProvider"/>
</providers>
<properties>
<add name="Theme" type="String" defaultValue="Default"/>
<add name="LastLogon" type="DateTime"/>
<add name="LastLogonIp" type="String"/>
<!--
<add name="EmployeeSearchCriteria" type="MyApplicationFramework.Profile.EmployeeSearchCriteria"/>
<add name="DocumentSearchCriteria" type="MyApplicationFramework.Profile.DocumentSearchCriteria"/>
-->
</properties>
</profile>
С критериями, описанными выше, тест прошел нормально. С их раскомментами была возвращена ошибка 500.
У кого-то была аналогичная проблема в прошлом?