Laratesto — мой пакет для тестирования Laravel-приложений с помощью Testo. Он подготавливает приложение к тестам и добавляет знакомые инструменты для проверки запросов, базы данных и поведения приложения.
Зачем он нужен
Чтобы использовать новый тестовый инструмент в Laravel, мало просто запустить тестовую функцию. Нужно загрузить приложение, подготовить окружение, дать тесту доступ к HTTP-запросам и базе данных, а после выполнения привести состояние в порядок.
Эту связку и обеспечивает Laratesto: Laravel запускается перед каждым тестом, а после теста пакет очищает состояние фреймворка. Основная интеграция работает без зависимости от PHPUnit.
Что уже есть
- Подготовка Laravel-приложения для тестов Testo.
- HTTP-запросы и проверки ответов, JSON, перенаправлений и авторизации.
- Инструменты для работы с базой данных, сессией, middleware и командами Artisan.
- Обновление базы данных для тестов с использованием миграций и транзакций.
- Команда
php artisan laratesto:testдля общего запуска тестов.
Общая команда сначала запускает Testo, затем Pest или PHPUnit, если они установлены в проекте. Так тесты можно переносить постепенно.
Переход из PHPUnit
В пакете есть инструменты для подготовки переноса существующих тестов и слой совместимости для части привычных проверок. Автоматический перенос помогает с повторяющимися изменениями; результат нужно просматривать и проверять, а неподдерживаемые конструкции разбирать вручную.
Как попробовать и что дальше
Пакет устанавливается через Composer. В актуальном README указаны требования PHP 8.3+, Laravel 13 и Testo, пример настройки плагина и варианты запуска.
Laratesto уже доступен, работу над ним продолжаю. Хочу сделать тестирование и постепенный переход на Testo удобнее; о развитии проекта буду рассказывать в блоге.


