У меня есть следующий метод в моем проекте модульного тестирования:
[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) Not Found.
Удаленный сервер возвратил ошибку: (404) Not Found.
Страница работает как надо в браузере по 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.
У кого-нибудь была подобная проблема в прошлом?