亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel PHPUnit 返回 404

Laravel PHPUnit 返回 404

PHP
慕沐林林 2023-09-22 16:03:59
對于 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 路由的路由配置。你的控制器和動作聲明得好嗎?


查看完整回答
反對 回復 2023-09-22
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

在我看來,PHPUnit 不僅找不到這個 URL,而且找不到整個網站。您可以通過在測試中請求“/”來檢查它。

如果我是對的,首先,我建議檢查APP_URL您的.env.testing. 通常,我將其設置為APP_URL=http://localhost,它對我有用。


查看完整回答
反對 回復 2023-09-22
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

默認情況下,laravel 的路由不會明確顯示它是一個 php 文件,而是具有您在路由文件上決定的專用端點。所以index.php 不應該是laravel 的有效路由。

404 錯誤狀態代碼是指未找到錯誤。無論您使用的是 web.php 還是 api.php,您嘗試訪問的 api url 可能與路由文件中的 api url 不匹配。

php artisan route:list我建議在項目的基本路徑上使用,以正確查看您想要的路線是否已注冊并從那里進行匹配。


查看完整回答
反對 回復 2023-09-22
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

404 代碼意味著在指定的路線上找不到任何內容。它可能是您指定的路線index.php/api/company。嘗試路由到[host:port]/api/company



查看完整回答
反對 回復 2023-09-22
  • 4 回答
  • 0 關注
  • 207 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號