Если вы автор Python-библиотеки, то скорее всего вам необходимо поддерживать несколько версий Python. Стандартный набор - 2.6, 2.7, 3.3, 3.4 и сейчас уже 3.5. Поддерживать несколько версий Python помогают тесты.

Не секрет, что тесты помогают допускать меньше ошибок во время поддержки проекта. Например, вы можете смелее делать рефакторинг и быть уверены, что функционал который проверяют тесты работает.

Пускай написали тесты для озвученных версий Python, как их запускать? Постоянно менять venv и тыкать python run_test.py? Есть удобнее инструмент - tox.

tox - это средство автоматизации, которое позволяет свести запуск тестирования до одной команды (а можно и до 0). В конфиг файле tox.ini вы можете указать:

  • Что установить
  • Какие версии Python использовать
  • Что сделать перед запуском тестов
  • Как запускать тесты
  • Что делать после запуска тестов (например, сделать отчет с помощью coverage, послать отчет на email)

Конфиг файл может выглядеть так:

[tox]
envlist = py26,py27
[testenv]
deps=pytest       # install pytest in the venvs
commands=py.test  # or 'nosetests' or ...

Ссылка на документацию: https://tox.readthedocs.org/en/latest/



Комментарии