Интерфейс браузера Django REST - PullRequest
2 голосов
/ 21 апреля 2011

Я пишу набор служб REST для проекта Django.Я уже давно использую django-rest-framework.Из-за его ограниченной функциональности мне пришлось переключиться на django-pneon, что мне очень нравится.

Однако у django-rest-framework была одна действительно приятная особенность - он мог отображать интерфейс, похожий на администратор, для тестированиясозданные сервисы из браузера.Это просто потрясающе для целей отладки.Это очень просто: одна форма отображается для каждого метода HTTP, такого как «GET», «POST» и т. Д. Наряду с этим выпадающий список доступных типов содержимого и текстовое поле для ввода данных для отправки.

На мой взгляд, это на самом деле не функция, напрямую связанная с конкретной средой REST.Это даже не обязательно о Джанго.Все это может быть достигнуто с помощью HTML + JS или внешнего веб-сайта.

Мой вопрос: что вы используете для ручного тестирования / отладки веб-сервисов?Не могли бы вы указать мне какой-нибудь фрагмент HTML-кода или приложение Django, которое будет выполнять описанные действия?

Ответы [ 2 ]

8 голосов
/ 21 апреля 2011

Это может показаться очевидным, но: Почему бы просто не использовать тестирующий клиент Django (django.test.client.Client)?тогда вместо ручной «отладки» в вашем браузере вы можете написать модульные тесты с ожиданиями и использовать их в дальнейшем.

например

from django.test.client import Client
client = Client()
resp = client.put('/employee/2/', data={'email': 'here@there.com'}, follow=True)
#... etc
3 голосов
/ 22 апреля 2011

Как автор django-rest-framework, было бы здорово поразмыслить над тем, какие функциональные возможности могут быть полезны для реализации. :) (конечно, у меня есть свои мысли и области, над которыми я планирую работать, но будьте очень хороши, чтобы получить некоторую точку зрения пользователя)

Вы абсолютно правы в том, что браузер API не ограничен какой-либо конкретной структурой. Для меня это большая проблема с DRF, и я бы хотел, чтобы больше фреймворков API использовали аналогичный подход. Одним из предполагаемых преимуществ API RESTful является то, что они должны иметь самоописание, и мне кажется нелогичным, что многие из создаваемых нами сегодня веб-API не доступны для просмотра в Интернете.

О, и полностью согласен с JSW RE. тестируя веб-API в django, я бы не стал использовать браузерный API-интерфейс для замены автоматизированных тестов.

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