Сравнение фреймворков Python BDD |
23.09.2019 00:00 |
Автор: Энди Найт (Andy Knight) Практически каждый крупный язык программирования имеет тест-фреймворки BDD, и Python – не исключение. На самом деле у Python их даже несколько? Как их сравнивать, какой из них лучше? Давайте разберемся. Сравнение в лобbehavebehave – это один из самых популярных фреймворков Python BDD. Хоть официально он и не является частью проекта Cucumber, но работает очень похоже на его фреймворки. Материалы:
Логотип: За:
Против:
pytest-bddpytest-bdd – это плагин для pytest, позволяющий пользователям писать тесты как фича-файлы Gherkin, а не тест-функции. Благодаря интеграции с pytest он может работать с любыми плагинами pytest – например, pytest-html для красивых отчетов и pytest-xdist для параллельного тестирования. Он также использует фикстуры pytest для внедрения зависимостей. Материалы:
Логотип: За:
Против:
radishradish – это BDD-фреймворк с изюминкой: он добавляет в язык Gherkin новый синтаксис. Такие особенности языка, как петли сценариев, предусловия сценариев и константы, делают radish-вариант Gherkin более удобным для тест-кейсов. Материалы:
Логотип: За:
Против:
lettuce lettuce – еще один "овощной" Python BDD-фреймворк, который на рынке уже много лет. К сожалению, сайт и код давно не обновлялись. Материалы:
Логотип: За:
Против:
freshenfreshen был одним из BDD-фреймворков для Python, плагином для nose. Однако ни freshen,ни nose больше не поддерживаются, и их документация явно советует читателям пользоваться другими фреймворками. Мои рекомендацииНи один из этих фреймворков не идеален, но у некоторых есть явные преимущества. Мой выбор – это pytest-bdd, потому что он извлекает выгоду из сильных сторон pytest. С моей точки зрения, pytest – это один из лучших тест-фреймворков для любого языка из-за его выразительности, фикстур, ассертов и плагинов. Опрос разработчиков Python-2018 показал, что pytest с большим отрывом выигрывает как наиболее популярный тест-фреймворк для Python. Несмотря на то, что pytest-bdd не так вылизан, как behave, я думаю, что любящие руки сообщества быстро это поправят. Другие рекомендации:
|