Некоторые тесты завершаются с ошибкой «канал связи с asp.net не может быть настроен» при запуске автоматически созданных тестов для веб-служб ASP.NET - PullRequest
2 голосов
/ 13 сентября 2011

Сценарий:

  • Visual Studio 2010, веб-приложение ASP.NET
  • Создайте класс веб-службы и присвойте ему несколько WebMethod -приписанных методов
  • Имейте Visual Studio для автоматической генерации модульных тестов для методов, щелкнув правой кнопкой мыши в определении класса и выбрав Create Unit Tests...
  • Обратите внимание, что сгенерированный код для каждого теста включает этот шаблон:

    // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page 
    // (for example, http://.../Default.aspx). This is necessary for the unit test to 
    // be executed on the web server, whether you are testing a page, web service, or 
    // a WCF service.
    [TestMethod]
    [HostType("ASP.NET")]
    [AspNetDevelopmentServerHost("C:\\...\\ProjectName", "/")]
    [UrlToTest("http://localhost:59733/")]
    public void MethodNameTest()
    
  • Добавьте от Default.aspx к UrlToTest, как того требует комментарий:

    [UrlToTest("http://localhost:59733/Default.aspx")]
    
  • Запустить все тесты в классе

Проблема:

Несоответствие, некоторые тесты терпят неудачу с

Не удалось настроить канал связи с ASP.NET. Запрошенная услуга не найдена

Какие тесты не пройдены и какие тесты пройдены, может варьироваться от запуска к запуску. Похоже, что сбоев нет, но это не тот случай, когда все успешно запускаются.

Что не так?

Ответы [ 2 ]

3 голосов
/ 13 сентября 2011

Это тот случай, когда страница, указанная вами в UrlToTest, всегда выполняет Response.Redirect при загрузке? Потому что, если это так, это станет причиной тех сбоев, которые вы видите.

Измените URL, указанный в UrlToTest, на URL страницы, которая не выполняет Response.Redirect, и ваши тесты должны нормально работать.

1 голос
/ 24 октября 2011

Проведите свои тесты через модуль тестирования Resharper. Это также избавляет меня от проблемы. Это также избавляет от необходимости перезагружать web.config несколько раз и чувствует себя быстрее.

...