好像我在这里遗漏了一些东西,但我正在努力为Laravel实施集成SendOwl webhook的测试.
这是我正在使用的文档:
https://help.sendowl.com/help/using-web-hooks
注意我已经在VerifyCSRFToken中添加了要排除的路由
使用ngrok(设置webhook转到本地开发的ngrok URL)我已经确认控制器代码是手动正常工作,并且webhook工作正常.
我坚持的是如何实际实现可以自动化的测试.例如,如果您尝试断言状态,它将不起作用,它将为500.
$response = $this->call('post', '/listenhere', ['json'=>json_decode($json, true)]);
解决方法:
调用方法是使用Laravel4.2推出的.它不再用于模拟测试中的HTTP请求.
从v5.2开始,Laravel提供了一个json帮助器来测试JSON API及其响应.
例如,您现在可以:
$response = $this->post('POST', '/listenhere', json_decode($json, true));
$response->assertStatus(200);
$response->assertJson(['created' => true]);