Принудительно загружать сервер разработки Asp.net с DEBUG для тестирования сервиса wcf (nunit)? - PullRequest
0 голосов
/ 01 июня 2010

кто-нибудь может помочь?

У меня есть решение в версии 2010, которое содержит приложение-службу WCF и библиотеку классов, которая имеет ряд тестов Nunit.

Служба тестирует сервис. Проблема в том, что не работает сервер разработки Asp.net - можно ли заставить его работать в режиме отладки ..

Я могу нажать F5, но потом не могу запустить свои тесты.

Может быть, я все делаю неправильно, стоит ли размещать их под IIS 7? а не встроенный сервер разработки.

Таким образом, сервер всегда доступен, а не загружается по требованию

Ответы [ 3 ]

1 голос
/ 24 июля 2010

См. http://www.codeproject.com/KB/aspnet/test-with-vs-devserver-2.aspx для очень легкого и, на мой взгляд, элегантного способа интеграции webdev / cassini в вашу среду тестирования.

ПРИМЕЧАНИЕ: первый пример управления .exe предназначен только для образовательных целей. Прочтите второй, очень краткий пример кода для получения денег.


Обновление

Я использую методику, перечисленную выше, с nunit и большинством всех тестировщиков модульных тестов, включая непрерывную интеграцию на серверах, которые я не контролирую, широко с отличными результатами.

Когда мне нужно смоделировать реальный сервер с именем хоста и IP-адресом без обратной связи, который не могут сделать WebDev.WebServer и WebDev.WebHost,

  • Я добавляю имя хоста в мой файл hosts, например, localhost.skysanders.net 192.168.0.10
  • использовать CassiniDev .dll почти точно так же, как

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

CassiniDev также является отличной заменой WebDev.WebServer.exe для VS 2008/2010. Он имеет встроенный мониторинг трафика и работает немного быстрее, как при запуске, так и при обработке.

0 голосов
/ 25 июля 2010

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

  1. Убедитесь, что IIS работает.
  2. Щелкните правой кнопкой мыши проект службы WCF и выберите «Публикация в IIS».
  3. Запустите NUnit на тестовом проекте клиента и запустите тесты.
  4. Если все тесты пройдены, то отлично, иначе ...
  5. Оставьте NUnit открытым, переключитесь обратно на Visual Studio и подключите отладчик к рабочему процессу IIS (aspnet_wp.exe на моем компьютере разработчика).
  6. Вернитесь к NUnit и повторно запустите неудавшиеся тесты. Любые исключения и точки останова будут работать в отладчике как обычно.
  7. Сполосните и повторите столько раз, сколько хотите.
0 голосов
/ 03 июня 2010

Я не пробовал это, но так как вы не получили никаких других ответов:

http://xneuron.wordpress.com/2009/03/27/launch-cassini-using-command-line/

Это похоже на команду, которую вы можете добавить в качестве шага перед сборкой в ​​свои тесты NUnit. Надеемся, что Resharper соблюдает эти команды и гарантирует, что они выполняются перед выполнением собственных сборок для конкретного теста.

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