тестирование веб-сервиса без IIS - PullRequest
0 голосов
/ 28 октября 2009

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

Ответы [ 3 ]

1 голос
/ 28 октября 2009

Веб-сервис - это просто класс plain-old-.net. Вы можете создать его экземпляр напрямую и вызвать его методы в модульном тесте.

Это не позволит вам протестировать http-специфические аспекты веб-сервисов, такие как аутентификация на уровне протокола, но я бы сказал, что использование веб-сервера для этого невозможно.

0 голосов
/ 28 октября 2009

Это зависит от того, что вы хотите проверить. Можно выполнить полные интеграционные тесты, и в этом есть некоторая ценность (например, проверка сериализации). Один простой способ получить хорошее тестовое покрытие с минимальной работой заключается в следующем:

  1. Напишите один или несколько простых старых классов, которые выполняют реальную работу (при желании используйте TDD)
  2. Проверка этих классов изолированно
  3. Попросите вашего WebMethods делегировать эти классы.
0 голосов
/ 28 октября 2009

Зависит. Если это asmx, вы можете использовать HostableWebCore в Vista и выше. Если это WCF, просто самостоятельно разместите его, создав экземпляр ServiceHost в своем процессе. Вы можете напрямую создать экземпляр службы, но если у вас есть какие-либо HTTP-измы (HttpContext, запрос / ответ на запрос, куки и т. Д.), Вам придется их высмеивать.

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