几分钟前,我按照升级指南将 laravel 版本从 6.16.0 升级到了 7.17.2 。但我的测试现在失败了,但有以下例外:Symfony\Component\HttpKernel\Exception\NotFoundHttpException : POST http://localhost/v1/orders在我的文件中APP_URL设置为。但在我的基本 TestCase 类中,我使用自定义端点覆盖 config('app.url') 。升级之前,测试选择的是自定义端点。http://localhost.env自上次升级以来,显然 getJson()、postJson() 等辅助方法不是应用文件中的 URL,config('app.url')而是直接应用.env文件中的 URL。因为当我对文件中的 URL 进行硬编码时.env,我不再收到 NotFoundHttpException。我该如何解决?
1 回答
森林海
TA贡献2011条经验 获得超2个赞
您可以执行以下操作。
在你的 phpunit.xml 中:
<php>
<server name="APP_URL" value="http://example.com"/>
</php>
或者在你的测试用例中:
use Illuminate\Support\Facades\URL;
protected function setUp(): void
{
parent::setUp();
URL::forceRootUrl('http://example.com');
}
这两者都会导致app('url')->to('my-endpoint')打印http://example.com/my-endpoint
- 1 回答
- 0 关注
- 115 浏览
添加回答
举报
0/150
提交
取消