Comments 2
Вот с тезисом ускорения написания тестов вообще не согласен ¯\_(ツ)_/¯
В привычном ООПэшом стиле как-то проще, чем выстраивать паровозик методов из магически присунутого контекста.
Когда пробовал PEST, то нашёл несколько фатальных недостатков:
Не работают фичи запуска кейсов в отдельных процессах типа
runInSeparateProcess
Отвратительная поддержка в IDE, что понижает производительность разработчика. Как пример: невозможно запустить конкретный тест
Субъективно, но синтаксис точно не для меня. Поддерживать такое я бы не смог.
Какое-то время юзал PEST в пакетах параллельно с PHPUnit: две конфигурации, разные папки. Да, PEST умеет запускать тесты PHPUnit, но стоило ему встретить атрибут runInSeparateProcess
, как всё ломалось.
Брал PEST только для одной фичи -- архитектурных тестов. Но потом узнал, что это тоже обёртка над плагином ta-tikoma/phpunit-architecture-test
. В итоге установил оригинальный плагин и выкинул PEST нахрен, заменив всего одной функцией.
Мой вывод такой: PEST был сделан для фронтендеров, которые привыкли к JEST, выгорели от JS и хотят попробовать немного мужицкого PHP, но не так чтоб сразу, а потихоньку, чтобы было немного JSно и комфортно.
А всё вот это "выразительный", "делает тесты лаконичнее, читаемее и проще в поддержке" -- какой-то маркетинг. Куда проще в классе тест-кейса сделать фабрики, провайдеры, setUp/tearDown... и убрать любое дублирование кода в тестах, сделав их ещё лаконичнее, выразительнее, элегантнее и шелковистее, чем оно было бы в PESTе...
Спасибо, ознакомился буду иметь ввиду (͡°͜ʖ͡°)
Короткий обзор Pest — неплохой PHP-фреймворк для тестов