Получение промежуточных программ для маршрута в Laravel

#php #laravel #phpunit

#php #laravel #phpunit

Вопрос:

Я хочу выполнить модульный тест в phpunit, где я проверяю, не имеет ли конкретный маршрут какого-либо промежуточного программного обеспечения, поскольку это требование для этого маршрута.

Возможно ли получить список промежуточных программ ОС для маршрута, используя, например, классы Route или Route collection?

Комментарии:

1. если у вас есть маршрут, вы можете вызвать middleware или gatherMiddleware получить промежуточное программное обеспечение, но что-то вроде группы «web» просто выдаст «web», а не все промежуточное программное обеспечение в этой группе

2. Добавление к комментарию lagbox, что-то вроде Route::getRoutes()->get()[0]->computedMiddleware . Если вы выполните повторную итерацию foreach(Route::getRoutes()->get() as $route) , вы можете проверить методы, доступные для Route класса, и посмотреть, есть ли у вас то, что вам нужно: laravel.com/api/8.x/Illuminate/Routing/Route.html

Ответ №1:

Это должно сработать

 $route->gatherMiddleware();