2

我正在学习构建一些 PHPUnit 测试。我的应用程序在不使用前缀时重定向到默认语言,例如:www.myapp.com 有 301 重定向到 www.myapp.com/en,而 www.myapp.com/en 有 200 OK。

试图对我的控制器进行测试,我有以下代码

    $response = $this->action('GET', 'HomeController@index');
    $this->assertEquals(200, $response->getStatusCode());

响应为 301(由于此语言前缀检查)。如何使用前缀测试这些控制器?谢谢

4

2 回答 2

3

尝试将此属性添加到您的tests/TestCase.php文件中。

// The base URL to use while testing the application.
protected $baseUrl = 'http://localhost/en';
于 2015-08-17T17:35:54.803 回答
1

从 Laravel 5.4 开始,该$baseUrl方法不再起作用

您可以在测试中动态设置自定义根 URL:

\URL::forceRootUrl('http://www.myapp.com/en');
于 2017-04-28T15:16:02.743 回答