WCF - Тестирование ссылочной сторонней службы - PullRequest
2 голосов
/ 16 ноября 2011

Я пытался провести некоторое исследование по этой теме, поскольку я предполагаю, что этот сценарий встречается часто, но я не нашел ничего слишком уместного.У нас есть сторонний сервис от нашего клиента, с которым мы взаимодействуем.У нас есть их WSDL, мы сделали ссылки на сервисы и разработали нашу сторону проекта, но на самом деле у нас нет доступа к их сервисам для тестирования.Как лучше всего тестировать наш код?Вот варианты, которые мне известны:

  1. Soap UI - Этот инструмент позволяет создавать Mock Services из WSDL.Вы можете указать ответные сообщения, которые будут возвращаться для различных вызовов методов, но, насколько мне известно, ответ будет полностью случайным .
  2. Служба вручную созданного макета - Iобнаружил, что мне нужно больше контроля над тестовой службой.В частности, я хотел сделать проверку ввода и вернуть правильные данные.Поэтому я создал свой собственный фиктивный сервис, который расширяет интерфейс сервиса, сгенерированный из WSDL клиента, используя / serverInterface из инструмента WSDl.exe .

Есть ли лучшийспособ сделать этот вид тестирования?Я чувствовал себя очень ограниченным вариантом 1, но вариант 2 кажется довольно интенсивным.Мой коллега высмеял вариант 2 из-за объема работы и упомянул, что мы должны использовать Visual Studio для выполнения тестирования.Существует ли такой инструмент тестирования в visual studio?Если это так, будет ли он ограничен так же, как и в Soap UI, где мы будем подвергаться дублированию ответных сообщений?

Спасибо!

Обновление: чтобы уточнить, что касается вопросов тестирования Visual StudioЯ знаю, что в VS есть набор тестов, и есть такие вещи, как веб-тесты, но как насчет фиктивного сервиса?Я не видел ничего, что указывало бы на существование такого типа инструмента тестирования.

1 Ответ

1 голос
/ 17 ноября 2011

У нас есть несколько макетов, запущенных с использованием вашего варианта 2. Действительно, требуется имитация рабочего поведения внешней службы, но она окупается. Вы имеете полный контроль над реализацией теста и можете контролировать, какой ответ и на какой вопрос ответить.

Важно иметь хорошее описание поведения службы от третьей стороны. Описание интерфейса часто мало детализировано. Какие ошибки могут быть возвращены? Когда возникают ошибки? Что такое счастливый путь. Все должно быть известно. Таким образом, в качестве побочного эффекта от создания макета вы получите экспертное представление о функционировании стороннего сервиса: -)

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