TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #3744 2.95K
Одноразовые тесты

❗ Проблема: Дублирование Middleware


Автор рассказывает о своем опыте рефакторинга маршрутов в Laravel-проекте, где он столкнулся с проблемой дублирования middleware. Он изначально планировал вручную проверить каждый маршрут и перенести middleware из конструкторов контроллеров в файлы маршрутов, но осознал, что это потребует много времени и могло бы привести к ошибкам.

Решение: Автоматизация сравнения Middleware

🚀 Использование php artisan route:list --json -v для получения данных о маршрутах и их middleware в формате JSON.
🔍 Сравнение данных до и после изменений с использованием утилиты для сравнения JSON.
🧐 Выявление различий в middleware и обнаружение несоответствий.

Результат: Безопасные Изменения и Уверенность

🎉 548 удалений и 359 добавлений в 111 файлах без ручного тестирования.
🛠️ Избежание ошибок благодаря точному выявлению изменений в middleware.
💪 Возможность внести изменения в проект с уверенностью, что автоматические тесты обнаружат проблемы.
Tim MacDonald Single-use tests Tests I write are usually written in Pest or Jest. I also usually commit them to a code repository - but not all automated tests should be committed. I wrote, what I consider to be an automated test, that was a single-use test. It served it's purpose and…
  • ❤ 8
  • 🤔 4
  • 👍 3
More from @phpproglib
  1. Oct 10, 2026Post #6729
  2. Oct 10, 2026Перенос MiniJinja с Rust на Go силами Opus и Codex Около десяти часов работы агента и прим…
  3. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  4. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  5. Sep 30, 2026🐸 Библиотека пхпшника
  6. Sep 29, 2026💡 Laravel-фича, которая спасает тесты от случайных запросов Http::preventStrayRequests()…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →