是否可以提取laravel 4应用程序的路由并对其进行迭代?
我考虑在每次迭代中使用它来测试每条路线。
这里有一个假设:
$routes = Request::routes();
foreach($routes as $route)
{
$crawler = $this->client->request($route->http_verb, $route->name);
$this->assertTrue($this->client->getResponse()->isOk());
}
不需要使用Laravel中的数组来测试路由。
Laravel核心已经对"路由"代码进行了单元测试。我们知道它有效。如果正确配置和定义了一条路由,并且该路由位于路由阵列中,那么它就会工作。
通过从Laravel获得一系列路由,然后针对Laravel测试这些路由,您只是在复制已经存在的单元测试。
你应该明确测试你知道和需要的路线。即CCD_ 1或CCD_。然后,如果您更改代码并删除/dashboard
路由,则会出现错误,因为该路由已不存在。
但是,如果您从Laravel本身提取路由,则永远不会出现错误,因为/dashboard
路由已不在您正在测试的阵列中!!!!
查看控制台中管理routes
手工命令的类。
它位于IlluminateFoundationConsoleRoutesCommand
您可以很容易地在Laravel API页面中找到这个类。
此外,它还可与此类use SymfonyComponentRoutingRouteCollection;
配合使用
EDIT我认为App::make('router')->getRoutes()
它返回了一个巨大的数组,尝试对其进行一点解析;)