无法使用Laravel 4的前缀测试路由

时间:2014-05-05 11:37:08

标签: php testing laravel

我正在尝试测试基于文档(http://laravel.com/docs/routing#route-prefixing)的应用程序(这是一个Laravel PHP应用程序)的路由机制。案例是:我们正在尝试根据路线处理应用本地化,例如:

www.example.com/en/something -> Should use EN as language,  
www.example.com/es/something -> Should use ES as language,  
www.example.com/de/something -> Should use DE as language.  

我们通过使用前缀完成了之前描述的行为,并且它完美无缺。问题是我无法编写测试来测试这种行为。我做了一些研究,我找到了第三方库(https://github.com/mcamara/laravel-localization/blob/master/tests/LocalizerTests.php),它使用了类似的方法,我认为它可以帮助你理解哪种情况。

如果你看看那里,他没有测试我想测试的场景(我的意思是,路径上的语言环境代码).Btw:我已经用Route打开了过滤器: :enableFilters(),它不起作用:(

非常感谢

1 个答案:

答案 0 :(得分:1)

如果您在组内使用路线。

Route::group(array('domain' => {account}.'.$domain), function()
{
    Route::get('myproduct/en/list', 'HomeController@showWelcome');
});

然后尝试这个。

  public function testBasicExample() { 
    $crawler = $this->client->request('GET', 'http://subdomain.domain.local/myproduct/en/list');           
$this->assertTrue($this->client->getResponse()->isOk()); 
    }