Апрель 2015 года - это «месяц принятия pytest».¶
Вы являетесь энтузиастом использования pytest, местным гуру тестирования на вашем рабочем месте? Или вы подумываете об использовании pytest в своем проекте с открытым исходным кодом, но не знаете, как начать? Тогда вас может заинтересовать «Месяц внедрения pytest»!
Мы будем работать в паре с опытными пользователями pytest и проектами с открытым исходным кодом, в течение месяца помогая новым командам разработчиков начать работу с pytest.
В 2015 году мы пробуем это впервые. В феврале и марте 2015 года мы соберем добровольцев с обеих сторон, в апреле выполним работу, а в мае оценим, как все прошло. Координатором этой работы является Брианна Лаугер. Если у вас есть вопросы или комментарии, вы можете задать их на @pytestdotorg twitter account, issue tracker или pytest-dev mailing list.
Идеальный помощник pytest¶
смогут уделять 2-4 часа в неделю работе над конкретным проектом (это может включать в себя присоединение к списку рассылки, установку программного обеспечения и изучение всех существующих тестов, предоставление советов, написание нескольких примеров тестов)
уверенно чувствует себя при использовании pytest (например, изучил параметры командной строки, знает, как писать параметризованные тесты, имеет представление о содержании conftest)
не обязательно быть экспертом во всех аспектах!
Помощники Pytest, записывайтесь здесь! (желательно в феврале, крайний срок - 22 марта)
Идеальный партнерский проект¶
с открытым исходным кодом и преимущественно написана на языке Python
имеет автоматизированный/документированный процесс установки для разработчиков
имеет более одного разработчика ядра
имеет хотя бы один официальный релиз (например, доступен на pypi)
имеет поддержку основной команды разработчиков, в попытке внедрения pytest
не имеет тестов… или 100% тестовое покрытие… или что-то среднее!
Партнерские проекты, регистрируйтесь здесь! (до 22 марта)
Что значит «принять pytest»?¶
Существует множество различных определений понятия «успех». Pytest может выполнять множество тестов nose и unittest по умолчанию, поэтому использование pytest в качестве тестовой программы возможно с первого дня. Работа сделана, верно?
Прогрессивный успех может выглядеть следующим образом:
тесты могут выполняться (с помощью pytest) без ошибок (возможны сбои)
тесты могут выполняться (с помощью pytest) без сбоев
программа запуска тестов интегрирована в CI-сервер
- существующие тесты переписываются для использования возможностей pytest - это может происходить, например, в течение нескольких итераций:
переход на собственные утверждения assert (у pycmd есть скрипт, который поможет в этом,
pyconvert_unittest.py
)изменение setUp/tearDown methods на фиксики
добавление маркеров
другие изменения для сокращения шаблонных формулировок
оценить потребности в написании будущих тестов, например, новые приспособления, настройки распределенного тестирования
«Успех» также должен включать в себя то, что команда разработчиков чувствует себя комфортно, зная, как использовать pytest. На самом деле это, вероятно, важнее всего остального. Поэтому, вероятно, будет важно потратить много времени на общение, приведение примеров и т.д. - как при выполнении тестов, так и при их написании.
Возможно, по истечении месяца партнерский проект решит, что pytest ему не подходит. Это нормально - надеюсь, команда pytest также узнает что-то о своих слабостях или недостатках.
Другие способы помочь¶
Продвигайте! Используют ли ваши любимые Python-проекты с открытым исходным кодом pytest? Если нет, почему бы не рассказать им об этой странице?