为了账号安全,请及时绑定邮箱和手机立即绑定

升级到 7.x 后,测试中的 Json() 方法不遵守 config('app.url')

升级到 7.x 后,测试中的 Json() 方法不遵守 config('app.url')

PHP
慕仙森 2023-07-08 15:31:18
几分钟前,我按照升级指南将 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


查看完整回答
反对 回复 2023-07-08
  • 1 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信