Laravel 4-提取路线,迭代和测试



是否可以提取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()它返回了一个巨大的数组,尝试对其进行一点解析;)

最新更新