Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Pest 5: Tia Engine, плагін для AI-агентів і evals для LLM
Новини 29 липня 2026

Pest 5: Tia Engine, плагін для AI-агентів і evals для LLM

На першому дні Laracon US 2026 у Бостоні Нуно Мадуро представив Pest 5 - нову мажорну версію тестового фреймворку. Реліз побудований на PHP 8.4 і PHPUnit 13, а головна його ідея звучить так: більшість тестів, які ви запускаєте, не мають стосунку до того, що ви щойно змінили.

Tia Engine: переганяємо лише те, що зачепили

Tia Engine (test impact analysis) - центральна можливість релізу. Після першого повного прогону движок запам'ятовує, які тести яких файлів торкаються. На кожному наступному запуску він дивиться, що ви змінили, переганяє лише пов'язані тести, а для решти віддає закешовані результати.

За даними команди Pest, набір, який раніше виконувався десять хвилин, відпрацьовує приблизно за чотири секунди - без втрати точності покриття коду.

./vendor/bin/pest --parallel --tia

Для роботи потрібен драйвер покриття - PCOV або Xdebug.

Плагін Agent: перевірка змін AI-агентом

Плагін Agent розрахований на сценарій, який став буденним: код пише агент, а перевіряти доводиться людині. Він дає AI-агентові одну команду, щоб переконатися, що зміна справді працює - причому всередині вашого реального набору тестів, а не в ізольованій пісочниці.

Якщо встановлено плагін браузерного тестування, агент може керувати й справжнім браузером.

composer require pestphp/pest-plugin-agent --dev

Evals: тестуємо якість відповідей LLM

Плагін Evals розв'язує зворотну задачу - оцінити не код, а вивід моделі. Він поєднує детерміновані перевірки з оцінювачами на базі LLM, і все це через той самий expect(), яким ви користуєтеся у звичайних тестах.

  composer require pestphp/pest-plugin-evals --dev

Evals за замовчуванням пропускаються - щоб їх виконати, потрібен прапорець --evals. Це розумний компроміс: звернення до моделі коштують грошей і виконуються повільно, тож у звичайному прогоні їм не місце.

Плагіни для PHPStan і Rector

Тепер офіційні. PHPStan-плагін навчає аналізатор розуміти функціональний API Pest - it(), test(), expect() і поведінку $this всередині тестів. Раніше це доводилося обходити власними конфігурами або мовчазним ігноруванням помилок.

composer require pestphp/pest-plugin-phpstan --dev
composer require phpstan/phpstan --dev

Rector-плагін приносить набір правил для автоматичного осучаснення тестового коду.

composer require pestphp/pest-plugin-rector --dev
composer require rector/rector --dev

Шардинг за часом виконання

Якщо ви розкидаєте тести по кількох CI-машинах, Pest 5 ділить набір не за кількістю тестів, а за реальним часом їх виконання. Дані про тривалість збираються окремою командою:

./vendor/bin/pest --update-shards

Різниця відчутна там, де кілька повільних тестів раніше випадково збиралися на одному шарді й тримали весь пайплайн.

Нові матчери

Додали вісім перевірок для поширених форматів:

  • toBeEmail()
  • toBeUlid()
  • toBeIpAddress()
  • toBeMacAddress()
  • toBeHostname()
  • toBeDomain()
  • toBeBase64()
  • toBeHexadecimal()

Як оновитися

У composer.json:

"pestphp/pest": "^5.0"

Усі плагіни, які підтримує команда Pest, теж варто підняти до ^5.0.

Головна вимога релізу - PHP 8.4 або новіший. Для проєктів на 8.2 чи 8.3 оновлення почнеться з підняття версії PHP, і це варто закласти в планування.

Підсумок

Pest 5 рухається у двох напрямах одночасно. Перший - швидкість: Tia Engine прибирає з прогону все, чого ви не торкалися, і це найпомітніша зміна в щоденній роботі. Другий - робота з AI: плагін для агентів і evals визнають, що тести тепер пишуть і перевіряють не лише люди.

Офіційний анонс - на pestphp.com.

170

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Новини 27 жовтня 2026

Filament v5.11.0: поля й віджети на React, Vue і Svelte та жорсткіший захист Livewire

Filament v5.11.0 дозволяє писати власні поля форм, компоненти схем і віджети на React, Vue, Svelte або чистому JavaScript. Паралельно v5.11.0 і v4.16.0 закривають для клієнта внутрішні Livewire-методи та стан і додають опційні ліміти для репітерів і пагінації таблиць.

2
Новини 27 жовтня 2026

Livewire 4.4.8 закриває обхід #[Authorize], а NativePHP Mobile - сім вразливостей

Livewire 4.4.8 виправляє GHSA-mhf7-xp6r-6qrc (CVSS 6.5): атрибут #[Authorize] можна було обійти й виконати дію над чужим записом. Того ж тижня NativePHP опублікувала сім попереджень для NativePHP for Mobile - виправлення в nativephp/mobile 4.6.1 і 3.3.11, але до користувачів вони дійдуть лише з новою збіркою застосунку.

1

Вакансії за темою

Intetics
6 днів тому

1188 Senior Full-Stack PHP Developer (Laravel + React/Vue)

Senior full-stack розробник PHP для створення та підтримки масштабованих веб-застосунків на Laravel (бекенд) і React або Vue (фронтенд). Завдання включають проєктування REST API, роботу з чергами, Redis, оптимізацію запитів, написання автоматизованих тестів та участь у архітектурних рішеннях. Вимоги: 5+ років досвіду з PHP 8.x, 3+ роки з Laravel і React/Vue, сильний TypeScript, SQL, досвід з CI/CD та англійська на добрий рівень.

Intetics
7 днів тому

Senior Full-Stack PHP Developer (Laravel + React/Vue)

Senior Full-Stack PHP розробник створює й підтримує масштабовані веб-застосунки: бекенд на Laravel та фронтенд на React або Vue. Відповідає за архітектурні рішення (дизайн сервісів, моделювання даних, кешування, черги), проєктує REST API та інтеграції, рефакторить legacy-код і оптимізує запити. Вимоги: 5+ років досвіду з сучасним PHP 8.x, 3+ роки з Laravel, 3+ роки з React або Vue, сильний TypeScript, досвід з Redis і чергами, автотести та CI/CD.

alpview it service
9 днів тому

Senior PHP / Laravel Engineer — AI-native team with Claude Code (long-term)

Старший PHP/Laravel розробник для роботи з backend-системами HR- та staffing-продуктів: нові функції, інтеграції із зовнішніми системами, зміцнення існуючого коду. Ключовий стек: Laravel, MySQL, Redis, черги, Docker, REST API. Вимагається досвід 6+ років PHP і 3+ років Laravel у продакшені, а також щоденна робота з AI-агентами (Claude Code) з відповідальністю за валідацію коду. Англійська B2.

Пакети за темою

Pest

pestphp/pest

Тестовий фреймворк з лаконічним синтаксисом поверх PHPUnit: тести описуються функціями замість класів. Має паралельний запуск, тести архітектури, покриття і мутаційне тестування.

11,667 v5.1.1 4

Kalimera

welldigit/kalimera

Interactive installer that scaffolds Laravel applications the Well Digit way.

v1.0.0 15