Каков наилучший способ модульного тестирования RESTful API, который включает функции электронной почты (потерянные пароли, активация пользователя) в Python? Все делается через HTTP POST/GET и аутентификация, в настоящее время не участвует. Я бы просто использовал библиотеку запросов и вручную сделал все, что я хочу? Можно ли использовать запросы для автоматизации частей моего модульного теста, которые связаны с электронной почтой?Unit Test a RESTful API в Python
ответ
Часто веб-каркас, который вы используете для реализации REST api, также предлагает поддержку тестирования модулей. Например:
- Колба: http://flask.pocoo.org/docs/0.10/testing/
- Джанго: http://django-testing-docs.readthedocs.org/en/latest/views.html
Эти тестовые классы ярлыки которые подсоединяются запрос непосредственно в Url диспетчер фреймворки. Это избавляет вас от необходимости находить свободный порт, создавая «настоящий» сервер и подключая http-клиент из вашего модульного теста.
Что касается отправки электронной почты: я бы издевался над этой частью в методе TestCase.setUp
. Просто измените ссылку на модуль/класс отправки электронной почты на другой модуль/класс, который переводит исходящую электронную почту обратно в модульный тест для оценки, а не по электронной почте.
Эти инструменты могут быть полезны, если у вас есть приложение WSGI, но у рамки нет хорошей поддержки модульного тестирования: http://wsgi.readthedocs.io/en/latest/testing.html. –
- 1. Unit Test a Scala Lexer
- 2. Unit Test a HtmlHelper в ASP.net MVC
- 3. Unit Test Suite в Python
- 4. Python Unit Test тонкая ошибка
- 5. unit test a приложенное поведение wpf
- 6. Jasmine + AngularJS unit test a rest call
- 7. PHPUnit testing-Unit test a basic function
- 8. Python unittest: test a test
- 9. Удалить элемент unit test в web api
- 10. kafka unit unit test (java)
- 11. Mocking Generic unit unit test
- 12. Sonarqube python plugin unit test drilldown
- 13. Unit Test Dropbox
- 14. Самообслуживание Web Api Unit Test с областью
- 15. Python Колба RESTful API
- 16. Python Unit-Testing All Test Cases
- 17. Python unit test для вложенных операторов if
- 18. Unit test custom IHttpactionResult
- 19. QT Qtestlib, Unit Test
- 20. Не отладить Test Unit
- 21. Unit Test Mongoose Promises
- 22. Unit Test Design
- 23. Perl Unit Test Mocking
- 24. Python Unit Test Dictionary Assert KeyError
- 25. Test ExceptionNotification middleware in rails unit test
- 26. unit test странные вещи
- 27. Unit Test Collection
- 28. unit test console output
- 29. UnitularJs unit test 'this'
- 30. Laravel workbench unit test
Сначала вы должны тестировать свои обработчики без HTTP-накладных расходов. Все остальное на самом деле не является единичным тестом, а скорее каким-то интеграционным тестом. – poke
, если вы используете http, это не единичный тест. как правило, если вы тестируете что-либо еще, кроме одного, в случае отдыха api всю маршрутизацию URL-адресов, обработку данных вообще - это не единичный тест. – Henning