对于 Laravel API,我已经编写了测试用例。但每当我运行测试用例时,它总是失败并出现以下错误,1) Tests\Feature\CompanyTest::orgTestExpected status code 200 but received 404.Failed asserting that 200 is identical to 404.添加$this->withoutExceptionHandling();到测试用例代码后,它返回以下错误,1) Tests\Feature\CompanyTest::orgTestSymfony\Component\HttpKernel\Exception\NotFoundHttpException: POST domainname/index.php/api/company/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithExceptionHandling.php:126/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:415/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:113/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:507/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:473/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:332/tests/Feature/CompanyTest.php:21我在测试文件中的代码是,public function orgTest() { $requestData = ["organizationId" => 10,"offset"=>1,"limit"=>10,"notificationId"=>""]; $response = $this->withoutExceptionHandling(); $response->postJson('/index.php/api/company',$requestData); $response->assertStatus(200); }我用谷歌搜索了该错误并尝试了很多解决方案但无法成功。任何人请让我知道问题是什么。
4 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
这是一个 404 错误,因此找不到您的网页:
Symfony\Component\HttpKernel\Exception\NotFoundHttpException: POST domainname/index.php/api/company
不好的方法,发布到“域名”/api/company
或“域名/index.php/api/company
”,但不包含“域名”!
如果它不起作用,请检查该 api 路由的路由配置。你的控制器和动作声明得好吗?
胡子哥哥
TA贡献1825条经验 获得超6个赞
在我看来,PHPUnit 不仅找不到这个 URL,而且找不到整个网站。您可以通过在测试中请求“/”来检查它。
如果我是对的,首先,我建议检查APP_URL
您的.env.testing
. 通常,我将其设置为APP_URL=http://localhost
,它对我有用。
紫衣仙女
TA贡献1839条经验 获得超15个赞
默认情况下,laravel 的路由不会明确显示它是一个 php 文件,而是具有您在路由文件上决定的专用端点。所以index.php 不应该是laravel 的有效路由。
404 错误状态代码是指未找到错误。无论您使用的是 web.php 还是 api.php,您尝试访问的 api url 可能与路由文件中的 api url 不匹配。
php artisan route:list
我建议在项目的基本路径上使用,以正确查看您想要的路线是否已注册并从那里进行匹配。
拉丁的传说
TA贡献1789条经验 获得超8个赞
404 代码意味着在指定的路线上找不到任何内容。它可能是您指定的路线index.php/api/company
。尝试路由到[host:port]/api/company
- 4 回答
- 0 关注
- 155 浏览
添加回答
举报
0/150
提交
取消