Чтобы ответить на ваш вопрос напрямую, да, вы можете получить WSDL для различных веб-сервисов (указания в конце). Однако, однажды имело удовольствие реверсировать веб-сервисы TFS (для коммерческого продукта, а не дляточечные тесты в) Я должен был бы предложить, чтобы вы этого не делали.
Как заявил Крис Лайвли, на несколько порядков проще будет запустить тестовый TFS-сервер с поддельными данными.Вот как Microsoft тестирует своих клиентов - мы никогда не мечтали бы насмехаться над веб-сервисами, особенно 1004 *, особенно над 1004 * веб-сервисом отслеживания рабочих элементов из-за его сложности.Почему?
Первым шагом в общении с веб-сервисом отслеживания рабочих элементов является обмен метаданными отслеживания рабочих элементов.Он содержит шаблоны процессов - то есть информацию обо всех типах рабочих элементов (ошибка, тестовый случай, задача и т. Д.), Включая все поля, способ их отображения на экране для различных клиентов TFS, триггеры, которыепроисходит обновление одного поля на основе содержимого другого поля и возможного содержимого полей (список областей, итераций, пользователей, которые могут быть допустимыми значениями в поле «Назначено» и т. д.). Схема для этогоне является общедоступным, и его нелегко перепроектировать, и без этого клиент отслеживания рабочих элементов не сможет функционировать.(Первый шаг в любой транзакции отслеживания рабочего элемента - убедиться, что таблица метаданных клиента соответствует серверу.)
Было бы очень сложно использовать это.Было бы еще сложнее его создать.(Я полагаю, что вы можете использовать существующую таблицу метаданных с вашего производственного сервера.)
Однако, как только вы преодолели это препятствие, работа с запросами рабочих элементов не так уж и плоха.Довольно просто построить иерархию запросов из хранимых запросов, однако вам нужно убедиться, что ваши фиктивные запросы соответствуют WIQL, так как клиент должен проанализировать его и проверить его корректность, прежде чем пытаться выполнить запрос.Если, как в вашем примере, вы хотите получить только один рабочий элемент по идентификатору, то это будет довольно просто.
Теоретически вы сможете создавать поддельные рабочие элементы в ответ на запрос.Однако клиент поддерживает «механизм правил», чтобы гарантировать, что рабочий элемент находится в допустимом состоянии.(То есть ошибка не может иметь состояние «Активен» и причина «исправлена».) Поэтому вы должны убедиться, что вы создавали фиктивные рабочие элементы, которые соответствовали правилам рабочего элемента в шаблоне процесса.
Но в какой-то момент, что ваши тесты на самом деле тестируют?Они тестируют код клиента, который вы пишете, или тестовый сервер TFS, который вы создали?
Наконец, Microsoft не предоставляет поддержку для общения напрямую с веб-сервисами.Эти интерфейсы могут существенно измениться в будущем, и, если у вас возникнут вопросы, ответ от сторонней стороны будет, скорее всего, «мы не поддерживаем это».(Возможно, я уже сказал слишком много!)
Также см .: « Есть ли документация по веб-сервисам TFS? », которая действительно касается создания нового клиента, а не насмешек над сервером.
Если вы еще не уверены в этом, вы можете получить WSDL для различных веб-служб, взглянув на конфигурацию IIS.Вы должны увидеть, например, WorkItemClient.aspx
.Если вы добавите строку запроса ?wsdl
в конце этого, вы сможете получить WSDL для клиента отслеживания рабочих элементов.Скрипач и Wireshark станут вашими очень хорошими друзьями.