Тестирование клиента веб-сервиса REST, когда сервисы еще не существуют - PullRequest
2 голосов
/ 15 декабря 2008

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

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

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

Кто-нибудь знает такой инструмент?

Ответы [ 8 ]

1 голос
/ 10 января 2012

Вы можете использовать плагин jQuery.fixture, который является частью инфраструктуры JavascriptMVC, но может также использоваться как отдельный компонент. Он обеспечивает очень строгий подход для проверки служб REST, которые еще не реализованы, путем перехвата запросов ajax.

Чтобы узнать больше об этом, пожалуйста, посетите: http://www.javascriptmvc.com/docs.html#!jQuery.fixture

Наслаждайтесь:)

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

Если вы находитесь в мире Microsoft, то я бы посмотрел библиотеки Microsoft.Http, входящие в стартовый комплект REST WCF. Существует проект Microsoft.Http.Test, в котором есть много примеров того, как заглушить http-запросы путем добавления этапа заглушки в конвейер обработки HttpClient или путем создания фиктивного сервера поверх HttpListener.

HttpListener - отличный класс .Net Framework, который позволяет вам создать работающий веб-сервер всего за несколько строк кода. Наряду с библиотекой Microsoft.Http вы можете создать сервер, который довольно легко возвращает поддельные результаты.

1 голос
/ 15 декабря 2008

Charles - это мультиплатформенный прокси, написанный на Java, который проксирует браузеры или любые другие сетевые клиенты, которые у вас есть.

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

И это очень хороший инструмент для отладки, потому что он позволяет проверять все детали HTTP.

PS: Не связан с ними, просто счастливый пользователь.

1 голос
/ 15 декабря 2008

Зависит от того, как служба REST будет на самом деле возвращать данные. Вы должны иметь возможность абстрагировать все сервисные вызовы и затем имитировать ответы JSON - случайное чередование ответов должно быть довольно простым.

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

0 голосов
/ 30 марта 2011

Я имел дело с этим же вопросом. Я еще не нашел инструмент спуска, чтобы сделать это. Я действительно надеялся, что SoapUI справится, но после его интенсивного использования я обнаружил, что их поддержка REST, особенно когда речь идет о сервисах Mock REST, совершенно отсутствует.

Лучшее, что я мог бы придумать, - это создать простой веб-сервер и использовать фильтры для отправки пользователя на разные ресурсы в зависимости от URL. Это нормально и замечательно для статических ответов, но что, если я хочу, чтобы вызов выдал ошибку или отобразил немного другие данные ответа. Я хочу что-то вроде того, что SoapUI делает с фиктивными сервисами SOAP, где вы можете запустить скрипт, который просматривает данные и зависит от данных, использует другой ответ SOAP. Кто-нибудь знает такой инструмент? Больше поддержки REST намечено в дорожной карте SoapUI, но я предполагаю, что не в ближайшем будущем.

0 голосов
/ 21 июля 2010

Простой - используйте SoapUI из Eviware (бесплатно), чтобы смоделировать ваш сервис.

Он имеет встроенную концепцию «фиктивной» службы, в которой вы можете определить конечную точку и заставить эту точку реагировать на запросы с реалистично выглядящими данными. После определения фиктивной службы она может быть запущена и с радостью будет сидеть там, отвечая на запросы клиентов. Вы даже можете управлять им программно и отправлять разные ответы в зависимости от запроса.

Онлайн-учебник по сервису насмешек действительно хорош здесь .

Проще, если в вашем приложении есть WADL или WSDL, но их отсутствие просто означает, что вам придется приложить немного дополнительных усилий для создания первоначальной службы Mock.

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

Подумайте об использовании шаблона проектирования фасада, а затем просто добавьте значение конфигурации для «режима моделирования». Затем вы можете создать весь клиент в режиме симуляции. Затем, когда сервер будет готов, обновите Facade для работы с новым сервером.

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

0 голосов
/ 15 декабря 2008

Вы можете просто создать документ результата и поместить его на веб-сервер. Затем укажите REST URL на документ. Независимо от того, что вы вводите, вывод всегда является предварительно форматированным результатом.

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