首页 > 解决方案 > 在 Laravel 中模拟时抛出 RequestException 的实例

问题描述

我想模拟一个具有成功和失败结果的 api,而请求失败会抛出RequestException,但我不能使用它,因为它要求像响应和东西这样的参数,但其他类似的异常ConnectionException会在不需要额外参数的情况下发生。有什么想法吗?

$wrongOtp = 12345;

$this->instance(Some::class, Mockery::mock(Some::class, function (Mockery\MockInterface $mock) use ($wrongOtp) {
    $mock->shouldReceive('getProfile')->with($this->ssn, $wrongOtp, $this->track_code)
        ->andThrow(RequestException::class)->once();
}));

因此,如果我在上面的代码中替换RequestExceptionConnectionException,它将毫无问题地运行测试,但如果我使用RequestException它要求响应作为第一个参数,我实际上不知道我应该为它提供哪种类型的响应。

提前感谢所有帮助

标签: phplaravelmockingguzzle

解决方案


推荐阅读