2017-02-17 66 views
0

我使用Laravel 5.4Laravel功能測試不能讓一個DELETE請求

web.php

Route::delete('claim/{id?}', '[email protected]'); 

myTest.php

$response = $this->json('delete', 'claim', [ 
    'id' => $id 
]); 

當我運行phpunit,我越來越

MethodNotAllowedHttpException

,但如果我通過郵遞員或phpstorm其餘客戶端運行它 - 它工作得很好,所以原因是$this->json方法的地方。我也試過$this->call。 如果我切換刪除方法發佈在web.php和我的測試文件 - 測試傳遞良好。 所以,問題是 - 爲什麼它不與DELETE方法或如何測試DELETE調用?:)

謝謝。

回答

1

好像是版本的問題。沒有任何修改,但兩週後只是composer update和測試通過罰款。

0

您已經定義了路線的方式,該ID需要在URL中傳遞。

更換

$response = $this->json('delete', 'claim', [ 
    'id' => $id 
]); 

$response = $this->json('delete', 'claim/' . $id, []); 
+0

這是不同的一個ID(實際上我更改它之前簡化問題),抱歉做出妄想。順便說一句,它不是在不同的層面上工作。 – arku