Как проверить сервис API в Visual Studio - PullRequest
1 голос
/ 07 февраля 2012

Как я могу использовать сервис отладки в Visual Studio 2010? То, что я хотел бы сделать, это шаг через код во время обработки запроса.

Я запускаю службу, щелкнув правой кнопкой мыши проект веб-сайта (C: ... \ APIServiceSite) в решении и выбрав «Просмотр в браузере». Все работает нормально, и я получаю ожидаемые результаты от службы, но я не могу найти способ пройти через код, который находится в другом проекте (APIService) в том же решении.

Ответы [ 2 ]

2 голосов
/ 08 февраля 2012

Вверх по голове: щелкните правой кнопкой мыши проект службы и выберите «Отладка» >> «Начать новый экземпляр». Затем запустите отладку на своем веб-«тестовом» приложении. Теперь вы должны быть в состоянии выполнить то, что вы хотите. (поскольку это не в моей голове, в случае неудачи это очень близко к правильному ответу).

Лучший вариант - перенести функциональность в библиотеку классов и сделать проект веб-службы очень тонким (по сути, возвращая вызовы из сборки библиотеки классов). Затем вы можете проверить бизнес-функциональность, используя библиотеку модульных тестов, такую ​​как MSTest (встроенный в большинство SKU Visual Studio), или nUnit (и т. Д.). Конечно, тесты, скорее всего, будут интеграционными, но вы добились двух хороших результатов:

  1. Вы получаете пользовательский интерфейс из уравнения тестирования, чтобы вы могли сосредоточиться на бизнес-логике
  2. Вы создаете повторяющиеся тесты (мыслите наукой, а не искусством)

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

0 голосов
/ 08 февраля 2012

Я отлаживаю сервис, создав стандартное приложение wpf, которое его использует. Добавив Существующий элемент / Добавить в качестве ссылки все исходные файлы из сервиса в новый проект (приложение wpf), в отдельную папку этого приложения. Так что я могу проверить его и отладить так же, как я тестирую / отлаживаю приложение.
Обратите внимание, что вы можете использовать службу журналов Microsoft для регистрации проблем, которые могут возникнуть у вашей службы при работе в качестве службы. Для обработки ошибок я создал одну функцию MustOverload (в vb), которая обрабатывает ошибки, и я перегружаю ее как MessageBox при использовании службы в моем тестовом приложении, и перегружаю ее как журнал ms, когда она запускается как служба

(краткая информация о журнале здесь: http://msdn.microsoft.com/en-us/library/aa984385(v=VS.71).aspx )

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