如何获取laravel测试用例中的路由列表?

时间:2015-12-23 10:45:36

标签: laravel testing phpunit

与标题一样,建议如何获取测试用例中的路由列表。我知道可以使用Route::getRoutes()在控制器中完成。但是,这在测试用例中不起作用。有人可以就此提出一个想法。

更新

如何在测试用例中执行此操作?

$routeCollection = Route::getRoutes();
$routeArray = [];
$i = 0
foreach($routeCollection as $value) {
    $routeArray[$i++] = $value->getPath();
}

更新2: 喜欢这个测试用例。我想在测试用例中获得路由列表。但这不起作用。

<?php

use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;

use Laracasts\Integrated\Extensions\Selenium as IntegrationTest;

class RouteTest extends IntegrationTest
{
    /**
    * A basic test example.
    *
    * @return void
    */
    public function testExample()
    {
        $routeCollection = Route::getRoutes();

        foreach($routeCollection as $value) {
            $this->visit($value->getPath())
                 ->onPage($value->getPath());
        }
    }
}

1 个答案:

答案 0 :(得分:0)

http://laravel.com/docs/4.2/testing#calling-routes-from-tests中有一条说明:

注意:在测试环境中禁用路由过滤器。要启用它们,请将Route :: enableFilters()添加到测试中。

PD:这是4.2。