Как запустить модульное тестирование метода в классическом проекте ASP.NET с использованием VS2008? - PullRequest
0 голосов
/ 24 июня 2009

Я просто написал несколько новых служебных методов в нестраничном классе для существующего приложения веб-форм .NET и решил попробовать выполнить модульное тестирование с использованием инфраструктуры модульного тестирования VS, а не вручную. Ранее я использовал инструменты модульного тестирования, но только в проектах EXE и MVC, и у меня возникает ошибка подключения к WebHostAdapter независимо от того, что я пробовал до сих пор.

Текущий тест:

    [TestMethod()]
    [HostType("ASP.NET")]
    [AspNetDevelopmentServerHost("C:\\inetpub\\wwwroot\\sitepath", "/")]
    [UrlToTest("localhost/Login.aspx")]
    public void UrlFriendlyTitleTest()
    {
        string dirtyPath = "São\\Hell & High water";
        string expected = "sao/hell-high-water";
        string actual;
        actual = GeneralUtility_Accessor.UrlFriendlyTitle(dirtyPath);
        Assert.AreEqual(expected, actual);
        Assert.Inconclusive("Verify the correctness of this test method.");
    }

Ошибка, с которой я сталкиваюсь:

Тестовый адаптер «WebHostAdapter» выдал исключение при выполнении теста «UrlFriendlyTitleTest». Веб-сайт не может быть настроен правильно; Не удалось получить информацию о процессе ASP.NET. Запрос 'localhost: 53874 / VSEnterpriseHelper.axd' вернул ошибку: удаленный сервер вернул ошибку: (500) Внутренняя ошибка сервера. Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера.

Что я пробовал до сих пор:

Установите для UrlToTest текущий текущий путь отладки для страницы в проекте.
Продвигается приложение на локальный сайт по умолчанию (отражено в текущем значении UrlToTest).
Настройте UrlToTest так, чтобы он указывал на страницу, не прошедшую проверку подлинности (не должно иметь значения, какая страница вызывается - я тестирую метод, на который даже нет ссылки).
Предложения от форумов MSDN (невозможно опубликовать более 1 ссылки).
И я попробовал предложения и изменения web.config, перечисленные автором этого SO вопроса .

Есть ли канонический ответ на этот вопрос, который я пропустил?

1 Ответ

1 голос
/ 24 июня 2009

Как правило, все мои нестраничные классы определяются в отдельной сборке (библиотеке классов), на которую ссылается веб-сайт. Библиотеки классов для модульного тестирования гораздо проще, чем для тестирования веб-сайтов. Мой совет - переместить ваш класс GeneralUtility в библиотеку классов и протестировать его оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...