我已经将app.url配置值更改为本地测试的正确url(http://testing.local
),但是当我运行我的phpunit测试并尝试调用()时,它试图查询http://localhost
而不是app.url的价值。我需要做什么才能让phpunit调用正确的路径?Laravel phpunit不正确url
我知道这是不是实际调用的URL,只是处理它,如果它是,但我似乎无法得到它的实际工作。它可以与testing.local直接链接到/public
而不是/
?
我已经将app.url配置值更改为本地测试的正确url(http://testing.local
),但是当我运行我的phpunit测试并尝试调用()时,它试图查询http://localhost
而不是app.url的价值。我需要做什么才能让phpunit调用正确的路径?Laravel phpunit不正确url
我知道这是不是实际调用的URL,只是处理它,如果它是,但我似乎无法得到它的实际工作。它可以与testing.local直接链接到/public
而不是/
?
尽我的理解,Laravel应该当您运行PHPUnit的使用“测试”的环境变量。但是,我遇到的问题和你一样。为了让它工作,我手动设置应用程序的网址。
$test_url = Config::get('app.url');
希望这可以帮助任何遇到同样问题的人。
要改变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
:
如果要静态指定为您的测试根URL,这增加phpunit.xml方法行不通了
此外,试图设置dinamically与\Config:set('app.url', 'http://testing.local')
的URL也不起作用,因为它似乎Laravel缓存根URL
可以动态设置自定义网址:
\URL::forceRootUrl('http://testing.local');
里面的文件,你会设置这个? – Mladen
你在哪里设置? – James
这个值意味着什么?在phpunit.xml中设置值似乎不起作用 – mils