Каковы лучшие практики для атрибута AspNetDevelopmentServerHost? - PullRequest
4 голосов
/ 01 июня 2009

У нас есть проект веб-приложения (на самом деле десятки ...), к которому прикреплен тестовый проект. В проекте тестирования у меня есть простой модульный тест, который использует несколько методов.

При локальном запуске выполняется и работает модульный тест.

Однако, когда наш сервер сборки TFS пытается выполнить тест, происходит сбой с ошибкой о неверном пути к атрибуту AspNetDevelopmentServerHost. Другие члены команды могут выполнить это просто отлично.

Проблема в том, что корень моего рабочего пространства TFS имеет значение c: \ projects \ Один из членов команды имеет свой параметр c: \ tfs2008 \ Сервер TFS Build с другой стороны устанавливает для переменной pathToWebRoot значение "c : \ blahblah \ Release_PublishedWebsites ... "Это приводит к неверному пути.

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

Итак, каковы лучшие практики в отношении модульного тестирования веб-проектов в командной среде? Статья на сайте MSDN выглядела не совсем полезной для Microsoft.

Ответы [ 3 ]

3 голосов
/ 10 мая 2013

Мы используем:

<TestMethod(), _
 HostType("ASP.NET"), _
 AspNetDevelopmentServerHost("$(SolutionDir)\\MyWebProject", "/"), _
 UrlToTest("http://localhost:44444/")>
 Public Sub Test()
     AssertStuff();
 End Sub

$(SolutionDir) означает, что он отлично работает в любой среде, и все тесты могут быть проверены. Нам нужно менять его каждый раз, когда мы автоматически создаем новый тест, но мы все равно пишем тест, поэтому не слишком много трудностей.

3 голосов
/ 01 декабря 2009

Вы должны указать строку %pathtowebroot%\\WebSiteName в параметре 100 pathToWebApp атрибута AspNetDevelopmentServer или AspNetDevelopmentServerHost.

1 голос
/ 14 декабря 2009

Можно установить переменные среды во время сборки, чтобы изменить путь и при этом работать в локальной среде.

...