2017-02-17 64 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