【问题标题】:Testing Laravel route that listens for a webhook测试监听 webhook 的 Laravel 路由
【发布时间】:2018-05-07 21:28:18
【问题描述】:

似乎我在这里遗漏了一些东西,但我正在努力为 Laravel 实现一个集成了 SendOwl webhook 的测试。

这是我正在使用的文档: https://help.sendowl.com/help/using-web-hooks

注意我已经在VerifyCSRFToken中添加了到exclude的路由

使用ngrok(将 webhook 设置为转到本地开发人员的 ngrok url)我已确认控制器代码手动正常工作,并且 webhook 工作正常。

我坚持的是如何实际实施可以自动执行此操作的测试。例如,如果您尝试断言状态,这将不起作用,它将是 500。

$response = $this->call('post', '/listenhere', ['json'=>json_decode($json, true)]);

【问题讨论】:

  • 你能发布更多你的代码吗
  • 我对这个问题很感兴趣。 500 代码附带的错误信息是什么。

标签: php laravel testing guzzle


【解决方案1】:

call 方法是在 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]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 2020-05-07
    • 2019-10-16
    • 2021-05-27
    • 2016-08-02
    • 1970-01-01
    相关资源
    最近更新 更多