Skip to content

Latest commit

 

History

History
49 lines (39 loc) · 6.31 KB

README.md

File metadata and controls

49 lines (39 loc) · 6.31 KB

Школа сильных программистов. Курс "Тестирование в Python"

Полезные ресурсы в отношении тестирования в Python из круса "Тестирование в Python" Школы сильных программистов. Упомянутые в крусе, а так же найденные в процессе изучения.

Полезные материалы из нулевой недели курса

  • Полифморфизм простыми словами.
  • Typeclasses in Python
  • classes - Умный, питонический, ad-hoc, типизированный полиморфизм для Python.
  • unittest - Стандартный модуль для реализации юнит-тестов.
  • pytest - Популярный фреймворк для создания и выполнения тестов в Python.
  • pytest-mypy-plugins - Плагин pytest для тестирования типов, стабов и плагинов mypy.
  • pytest-mock - плагин pytest предоставляет фикстуру mocker, которая является тонкой оберткой вокруг API патчей, предоставляемых стандартным пакетом mock
  • HTTPretty - Лучшая mock библиотека для HTTP вызовов. Базируется на мокании сокетов.
  • doctest - Модуль doctest ищет фрагменты текста, которые выглядят как интерактивные сессии Python, а затем выполняет эти сессии, чтобы проверить, что они работают именно так, как показано.
  • pytest-modified-env - Плагин Pytest для сбоя теста, если после него остается измененный os.environ.
  • unittest.mock - mock object library
  • Mocks Aren't Stubs
  • Mocks and explicit contracts
  • Engineering guide to writing correct User Stories

Полезные материалы из первой недели курса

  • wemake-python-styleguide - Линтер, который умеет мерить всю сложность и следит за именами.
  • Complexity Waterfall - Статья, которая описывает, как сложность перетекает из одного места в другое.
  • Mimesis: The Fake Data Generator - Лучшая библиотека для генерации фековых данных.
  • Django-fakery - Генерация Django моделей.
  • flake8-pytest-style - Плагин flake8 проверяет общие проблемы в тестах написанных на основе pytest.
  • PEP 692 - Keyword collisions - про разные типы аргументов.

Другие пололезные материалы

  • pytest-bdd - BDD library for the pytest runner
  • pytest-deadfixtures - Простой плагин для составления списка неиспользуемых или дублирующихся фикстур в тестах pytest.
  • Make tests a part of your app - #вопрос есть опыт использования кастомных hypothesis-стратегий для генерации сущностей типа UserData вместо фикстур с mimesis? Может есть какие-то известные потенциальные проблемы с этим? #ответ Никита Соболев: Да, есть. Нужно сначала делать правила, потом генерацию. Желательно правила привязывать к бизнес логике (из чата в Telegram)
  • factory_boy - As a fixtures replacement tool, it aims to replace static, hard to maintain fixtures with easy-to-use factories for complex objects.
  • pytest-watcher - Rerun pytest when your code changes.
  • pytest-testmon - pytest-testmon is a pytest plugin which selects and executes only tests you need to run.

Материалы не по теме курса

  • behave - behave is behavior-driven development, Python style.
  • conventional: comments - Комментарии, которые легко читать и понимать.
  • Make VS Code Awesome - Курс по настройке VS Code.
  • naming - Гайд по неймингу в Python от wemake-services.
  • glom - Python's nested data operator (and CLI), for all your declarative restructuring needs. Got data? Glom it!
  • wemake-django-template - Bleeding edge django3.2 template focused on code quality and security.