Я сделал отдых API, используя django-rest-framework.
У меня есть несколько конечных точек API. Некоторые из них используются для создания объектов, некоторые из них используются для перечисления объектов, некоторые из них используются для подсчета объектов и т. Д.
В моих тестах я тестирую каждую конечную точку, чтобы гарантировать, что, например, конечная точка создания будет принимать только запросы POST , Я тестирую конечные точки списка, чтобы убедиться, что они принимают GET, а не POST/PUT/PATCH/DELETE. Каждая конечная точка соответствует представлению, в котором есть параметр, который определяет, какие запросы они разрешают, но тесты гарантируют, что эти параметры будут работать. Тесты в основном утверждают, что возвращается определенный код состояния.
Тесты становятся довольно повторяющимися. Тесты для API комментариев составляют около 600 строк. Нужен ли этот вид тестирования и/или есть упрощенная альтернатива?Является ли тестирование доступа REST необходимым/хорошим?
ответ
Всегда существует хороший баланс между написанием избыточных тестов и получением достаточного уровня покрытия кода для ключевых областей системы.
Поскольку конечные точки в вашем приложении, скорее всего, будут иметь много движущихся частей (например, разбор ответа/запроса, HTTP-вызовы, доступ к хранилищам данных и т. Д.), Вы можете обнаружить, что слишком много тестов может значительно замедлить ваш тест люкс.
Вы часто обнаружите, что в сочетании с множеством стандартных модульных тестов (без ввода-вывода) достаточно небольшого количества целенаправленных сквозных тестов. Ключом является поиск здорового баланса между критическим охватом кода и надежной производительностью вашего набора тестов.
Существует большой Stack Overflow тема на этом, где Кент Бек обсуждает эффективный набор тестов:
Это подпадает под категорию тестов antipatterns где вы проверяете рамки/библиотеки вместо ваш собственный код.
Некоторые тесты, подобные этому, заслуживают внимания, особенно если вы не знакомы с каркасом, и они служат для проверки вашего использования. Тестирование его исчерпывающе, тем не менее, - это потерянное усилие, которое вы могли бы потратить на тестирование кода приложения.
Если вы действительно чувствуете, что инфраструктура или библиотека неустойчивы, и вы все еще хотите ее использовать, вам лучше тестировать ее напрямую, то есть развить проект (при условии, что он открыт с открытым исходным кодом), добавить некоторые тесты и сделать запрос на растяжение.
Это отличный ответ, я никогда об этом не думал. Хотел бы я принять два ответа! – dcgoss
Я наткнулся на эту классную библиотеку: django-rest-assured, которая, кажется, берет много плиты котла, проверяя этот вид доступа REST. Это позволяет тестировать эту функциональность гораздо более тривиально и, возможно, даже стоит вашего времени.
Да, django-rest-assured был специально создан для этой цели (я его автор). Однако, несмотря на то, что вы отлично справляетесь с лесами для полного покрытия вашего API, вы должны сократить его до минимума, требуемого вашим приложением, для простоты, производительности и ремонтопригодности ваших тестов по мере роста и созревания вашего проекта. – ydaniv
- 1. Является ли тестирование функциями достаточно?
- 2. Тестирование, является ли ввод числом
- 3. Является ли модульное тестирование нагрузкой?
- 4. Является ли REST предпочтительным выбором?
- 5. Тестирование REST API
- 6. Функциональное тестирование Rest API
- 7. Тестирование веб-сервисов REST
- 8. Тестирование API доступа с использованием Grails REST Client Builder
- 9. REST API - тестирование Frontend
- 10. Является ли токен доступа доступным?
- 11. PHPUnit - тестирование API REST
- 12. тестирование Django REST Framework
- 13. тестирование устойчивости REST API
- 14. Тестирование Rest Api методы
- 15. REST API-тестирование общих проблем
- 16. Является ли модульное тестирование в заказе невосприимчивым?
- 17. Тестирование того, является ли объект ресурсом angularJS $
- 18. Является ли утверждение и модульное тестирование несовместимым?
- 19. Тестирование методологии API SINATRA REST
- 20. Тестирование модулей ServiceStack REST webservices
- 21. Тестирование вызовов и соединений REST
- 22. Django Framework Unit Rest Тестирование
- 23. Является ли поток Django Rest Framework безопасным?
- 24. Является ли семантикой неотъемлемой части данных REST?
- 25. Является ли WADL стандартом для приложений REST?
- 26. Является ли Web Api REST Service
- 27. Является ли мой формат REST API действительным
- 28. Является ли REST таким же, как RESTful?
- 29. Является ли этот транзакционный подход REST-ful?
- 30. Является ли мой API архитектурой REST?
Удивительный! Спасибо за ссылку! – dcgoss