Какой простой способ заглушить спокойный веб-сервис? - PullRequest
27 голосов
/ 09 января 2012

Я хочу создать приложение для Android, это приложение будет выполнять вызовы RESTful для веб-службы для получения некоторых данных.

Я знаю, каким будет интерфейс RESTful, но я не хочу создавать свои собственные реализации. Есть ли простой способ создать заглушку веб-службы RESTful, которая будет возвращать некоторые статические данные без необходимости написания полноценного приложения WS для этого?

Ответы [ 13 ]

0 голосов
/ 09 июля 2014

Создайте несколько файлов с фиктивными ответами и поместите в папку. Теперь перейдите в командную строку и выполните следующее: python -m SimpleHTTPServer

Теперь вы можете получить доступ к этим файлам и фиктивным ответам на http://:8000

0 голосов
/ 09 января 2012

Вы можете использовать http://maqueapp.com/ для создания фиктивного веб-сервиса.Это быстро и легко.Я слышал об этом в theflexshow эпизоде ​​157 (не flexshow!)

0 голосов
/ 09 января 2012

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

В настоящее время я пишу очень похожее приложение на ваше, которое (как и вы) получает данные из веб-приложения RESTful.В моем приложении я следую шаблону MVP , рекомендованному GWT, а также задокументирован Мартином Фаулером как шаблон PassiveView .

Что вы хотите сделать, так этоабстрагируйте код, чтобы превратить вызов веб-службы REST в интерфейс (модель).Ответственность этого модельного класса заключается в предоставлении данных для докладчика / контроллера.Presenter будет обрабатывать всю вашу бизнес-логику, а затем передавать данные в представление (представление должно быть довольно тупым, а также имитировать).Во время тестирования вы создадите MockModel для реализации интерфейса модели и передачи тестовых данных в Presenter - вообще без фактического вызова веб-службы!Затем, когда вы будете готовы, вы замените этот класс реальным веб-сервисом и начнете интеграционное тестирование.

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

...