2014-04-09 61 views
4

我已经将app.url配置值更改为本地测试的正确url(http://testing.local),但是当我运行我的phpunit测试并尝试调用()时,它试图查询http://localhost而不是app.url的价值。我需要做什么才能让phpunit调用正确的路径?Laravel phpunit不正确url

我知道这是不是实际调用的URL,只是处理它,如果它是,但我似乎无法得到它的实际工作。它可以与testing.local直接链接到/public而不是/

回答

0

尽我的理解,Laravel应该当您运行PHPUnit的使用“测试”的环境变量。但是,我遇到的问题和你一样。为了让它工作,我手动设置应用程序的网址。

$test_url = Config::get('app.url'); 

希望这可以帮助任何遇到同样问题的人。

+1

里面的文件,你会设置这个? – Mladen

+1

你在哪里设置? – James

+0

这个值意味着什么?在phpunit.xml中设置值似乎不起作用 – mils

5

要改变PHPUnit的测试网址:

转到/tests/TestCase.php在Laravel项目。

更改下一行的网址,你需要:

// The base URL to use while testing the application. 
protected $baseUrl = 'http://newurl.com'; 

完成。相反

<env name="APP_URL" value="http://testing.local"/> 

,如果你想在你的测试dinamically更改URL,从Laravel 5.4 $baseUrl

1

如果要静态指定为您的测试根URL,这增加phpunit.xml方法行不通了

此外,试图设置dinamically与\Config:set('app.url', 'http://testing.local')的URL也不起作用,因为它似乎Laravel缓存根URL

可以动态设置自定义网址:

\URL::forceRootUrl('http://testing.local');