Skip to content

Strong Programmers' School. Testing in Python. Useful resources.

License

Notifications You must be signed in to change notification settings

AABur/testing_in_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Школа сильных программистов. Курс "Тестирование в 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.

About

Strong Programmers' School. Testing in Python. Useful resources.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published