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



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете просто создать результирующий документ и поместить его на веб-сервер. Затем укажите URL-адрес REST на документ. Независимо от того, что вы вводите, вывод всегда является предварительно сформированным результатом.
Зависит от того, как ваша служба REST фактически вернет данные. Вы должны иметь возможность абстрагироваться от всех вызовов служб, а затем имитировать ответы JSON - случайное чередование ответов должно быть довольно простым.
Еще вы могли бы разместить несколько документов с результатами на сервере (как указано выше) и повернуть их от клиента, случайным образом изменив запрошенные URL-адреса служб.
Мой текущий подход - издевательство над методами вызова службы и возврат JSON. Это неплохо работает. Думаю, я ищу то, чего не существует :-)
Чарльз - это мультиплатформенный прокси, написанный на Java, который проксирует браузеры или любые сетевые клиенты, которые у вас есть.
Вы можете назначать URL-адреса файлам или даже каталогам, если хотите, или вы можете записывать сеансы на диск и воспроизводить их позже - мы все время используем это для моделирования неполных или недоступных (например, сильно защищенных брандмауэром) серверов.
И это также очень хороший инструмент для отладки, потому что он позволяет проверять все детали HTTP.
PS: Не связан с ними, просто счастливый пользователь.
Рассмотрите возможность использования шаблона проектирования фасада, а затем просто добавьте значение конфигурации для «режима моделирования». Затем вы можете создать всего клиента в режиме моделирования. Затем, когда сервер будет готов, обновите фасад для работы с новым сервером.
Я сделал это с несколькими проектами, и это было чрезвычайно успешно. Особенно в крупных корпоративных приложениях, где некоторые небольшие службы могут выйти из строя, но остальная часть системы должна продолжать работать. Просто сделайте так, чтобы фасад выдавал пользователю предупреждение о «режиме моделирования», чтобы он знал, что результаты, вероятно, ненастоящие.
Если вы находитесь в мире Microsoft, я бы взглянул на библиотеки Microsoft.Http, которые входят в стартовый набор WCF REST. Существует проект Microsoft.Http.Test, в котором есть множество примеров того, как заглушить HTTP-запросы, либо добавив стадию заглушки в конвейер обработки HttpClient, либо создав фиктивный сервер поверх HttpListener.
HttpListener - отличный класс фреймворка .Net, который позволяет создать работающий веб-сервер всего в несколько строк кода. Наряду с библиотекой Microsoft.Http вы можете легко создать сервер, который довольно легко возвращает поддельные результаты.
Просто - используйте SoapUI от Eviware (бесплатно), чтобы имитировать ваш сервис.
Он имеет встроенную концепцию «имитационной» службы, в которой вы можете определить конечную точку, и эта конечная точка будет отвечать на запросы с реалистично выглядящими данными. После определения может быть запущена фиктивная служба, которая с радостью будет отвечать на запросы клиентов. Вы даже можете управлять им программно и отправлять разные ответы в зависимости от запроса.
Онлайн-руководство по mocking-сервису действительно хорошее здесь.
Будет проще, если в вашем приложении есть WADL или WSDL для работы, но их отсутствие означает, что вам придется приложить немного дополнительных усилий для создания своей первоначальной Mock-службы.
Я занимаюсь тем же вопросом. Мне еще предстоит найти инструмент для спуска, чтобы сделать это. Я действительно надеялся, что SoapUI выживет, но после его интенсивного использования я обнаружил, что их поддержка REST, особенно когда дело доходит до служб Mock REST, совершенно отсутствует.
Лучшее, что я мог придумать, - это создать простой веб-сервер и использовать фильтры для отправки пользователя на разные ресурсы в зависимости от URL-адреса. Это хорошо и хорошо для статических ответов, но что, если я хочу, чтобы вызов выдавал ошибку или отображал немного другие данные ответа. Мне нужно что-то вроде того, что SoapUI делает с имитацией служб SOAP, где вы можете запустить сценарий, который просматривает данные и в зависимости от данных использует другой ответ SOAP. Кто-нибудь знает такой инструмент? Дополнительная поддержка REST запланирована в дорожной карте SoapUI, но я предполагаю, что не в ближайшем будущем.
Вы можете использовать плагин jQuery.fixture, который является частью JavascriptMVC framework, но может также использоваться как отдельный компонент. Он обеспечивает очень сильный подход для имитации служб REST, которые еще не реализованы, путем перехвата запросов ajax.
Чтобы узнать об этом подробнее, посетите: http://www.javascriptmvc.com/docs.html#!jQuery.fixture
Наслаждаться :)
Могло бы сделать, но это было бы полезно только для проверки 200 -OK ответов. Я хотел бы иметь что-нибудь, что могло бы бросить мне несколько кривых с точки зрения ответов, чтобы дать клиенту пройти через его шаги.