Какой лучший способ проверить сервисы WCF? - PullRequest
41 голосов
/ 06 марта 2009

Я использовал этот инструмент, который Microsoft поставляет вместе с Visual Studio, потому что он быстрый и грязный

http://msdn.microsoft.com/en-us/library/bb552364.aspx

Но работать с ним немного неуклюже и тяжело. Существуют ли другие полезные тестовые клиенты, которые вы используете и не требует создания нового проекта Visual Studio и компиляции кода?

РЕДАКТИРОВАТЬ: Я больше ищу инструмент графического тестирования, который я мог бы использовать для проведения быстрых специальных тестов систем в наших различных средах без необходимости писать кучу разных тестов.

Ответы [ 10 ]

16 голосов
/ 06 марта 2009

SoapUI - еще один инструмент тестирования веб-сервисов. Я настоятельно рекомендую это.

8 голосов
/ 07 марта 2009

Вы не найдете лучшего инструмента для создания автоматических тестов сервисов WCF, чем использовать вашу любимую среду модульных тестов и писать тесты. Тестовый клиент или soapUI создадут тест, который может выполняться в сценарии непрерывной интеграции.

5 голосов
/ 15 октября 2012

WCFStorm полезно для проверки того, как вы описываете.

2 голосов
/ 15 ноября 2012

http://blogs.msdn.com/b/wcftoolsteamblog/archive/2010/01/04/tips-for-launching-wcf-test-client.aspx

Вот несколько советов по тестированию различных сценариев wcf.

enter image description here

1 голос
/ 12 ноября 2010

Я запустил WcfStorm с 15-дневным eval, и я впечатлен этим. Подключитесь к сервису и все методы выставлены. Выберите метод, и вы можете создать несколько тестовых случаев. После того, как вы закончите, вы можете сохранить эти тесты (оставив мои как файл решения с сервисом), и, как только вы внесете изменения, вы можете запустить все тесты, которые удовлетворяют непрерывному тестированию. Он также имеет командную строку, которая должна позволить вам интегрироваться в вашу сборочную машину для настоящего непрерывного тестирования.

Он также поддерживает IronPython, поэтому вы можете создавать сценарии удаления записей, добавленных тестом, если вы хорошо владеете этим языком сценариев.

1 голос
/ 12 июля 2009

Существует новый тестовый клиент под названием SOA Cleaner, я рекомендую вам попробовать его. Он поддерживает WCF. можно найти по адресу: http://xyrow.com.

1 голос
/ 04 апреля 2009

Я не имел в виду, что soapUI не работает для службы WCF, предоставляемой с использованием basicHttpBinding. Использование basicHttpBinding будет работать, потому что сервис будет функционировать как устаревший веб-сервис ASMX. Однако, если нужно переключить привязку (или использовать несколько привязок), например, на netTcpBinding, я не думаю, что все еще можно будет вызывать методы этой службы с использованием soapUI. Сценарий, который я описываю, довольно распространен, когда у вас есть служба WCF, доступная в Интернете с использованием конечной точки basicHttpBinding для максимальной функциональной совместимости, а другая конечная точка в виде netTcpBinding (для максимальной производительности) используется только для внутреннего использования.

1 голос
/ 07 марта 2009

Ну, я заканчиваю писать модульные тесты в MS test. Перед каждым тестом сервис размещается на тестовой сборке, а затем записывается. Конечно, это не модульное тестирование, поэтому пуристы будут дрожать, но это значит, что я могу проводить тесты так часто, как мне нравится.

0 голосов
/ 08 мая 2012

Удивительный WCFStorm, но я думаю, что это слишком дорого для независимого разработчика.

Как сказал Дарин, я также рекомендую soapUI.

Но есть особый случай, когда soapUI не поддерживает JSON-запрос, когда вы используете REST в WCF и отправляете запрос в виде сообщения POST.

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

Автоматическое тестирование WCF RESTful JSON

0 голосов
/ 08 марта 2009

Если вам нужно проверить логику клиента: Вы можете использовать платформу mocking / Isolation для блокировки реальных вызовов к серверу и использовать платформу модульного тестирования для написания правильных модульных тестов.

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

Нет реальной выгоды от модульного тестирования полного взаимодействия между клиентом и сервером, потому что вы знаете, что WCF работает, вместо этого добавьте интеграционное тестирование всей среды на выделенном сервере / клиентах.

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