Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
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.

96

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

Коментарі

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

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

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

PayZephyr
Новини 12 вересня 2026

PayZephyr: Єдиний API для роботи з Stripe, Paystack та PayPal

PayZephyr - Laravel-пакет від Nwaneri Chukwunyere Kenneth, який об'єднує вісім платіжних провайдерів під одним зручним API. Підтримує автоматичне перемикання, захист від подвійної оплати, підписки та повернення коштів.

2
Laravel Telescope
Новини 11 вересня 2026

Artisan-команди для дебагу в Laravel Telescope 5.24.0

Laravel Telescope 5.24.0 додає дві нові Artisan-команди для роботи із записами із терміналу. Тепер можна переглядати запити, винятки, джоби та запити до бази даних без відкриття веб-інтерфейсу, а також отримувати дані у форматі JSON для скриптів та AI-агентів.

3

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

Гарант-Інфо
4 дні тому

Middle PHP Developer (Laravel)

Middle PHP Developer для міжнародного B2B-продукту у телекомунікаціях. Розробка нового функціоналу на PHP 8.x/Laravel, підтримка кодової бази, робота з REST API, платіжними інтеграціями та MySQL. Вимоги: 2+ років комерційного досвіду PHP, впевнене знання Laravel, ООП, SOLID, тестування (PHPUnit/Pest), Git, Docker.

Alliance Digital
15 днів тому

PHP Developer

Middle PHP-розробник для фінтех-продукту. Розробка backend на Laravel з PostgreSQL, RabbitMQ, Redis. Реалізація складної бізнес-логіки кредитування, фінансових операцій, зовнішніх інтеграцій. Вимоги: 3+ років PHP, впевнена робота з Laravel, OOP/SOLID, складна бізнес-логіка, PostgreSQL, черги, тестування, production-mindset.

N-iX
31 день тому

Middle Market Research Analyst (#5741)

Senior PHP Engineer для консолідації двох legacy портальів в єдину сучасну платформу. Основний стек: PHP 8.x, Laravel, RabbitMQ, MySQL, Nuxt.js/Vue.js на AWS. Потрібні 5+ років досвіду з PHP, deep expertise в Laravel, event-driven архітектурі, AWS та SQL optimization. Роль передбачає дизайн високоякісного коду, архітектурні обговорення, роботу по всьому стеку та співпрацю з розподіленою командою в різних часових поясах.

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

Pest

pestphp/pest

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

11,667 v5.1.1 2

Bagisto

bagisto/bagisto

Bagisto — це платформа для електронної комерції, побудована на Laravel. Вона надає готове рішення для створення та управління інтернет-магазинами з підтримкою каталогу товарів, замовлень, платежів та клієнтів.

28,086 v2.5.0-beta1 13 25