与标题一样,建议如何获取测试用例中的路由列表。我知道可以使用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());
}
}
}
答案 0 :(得分:0)
在http://laravel.com/docs/4.2/testing#calling-routes-from-tests中有一条说明:
注意:在测试环境中禁用路由过滤器。要启用它们,请将Route :: enableFilters()添加到测试中。
PD:这是4.2。