如何解决如何检查异常
我试图在无效数据到达服务时捕获异常
测试:
/**
* @dataProvider errorDataProvider
*/
public function testErrorProvide(array $responses,\Exception $exception): void
{
$dataProvider = new MyServiceProvider($this->tester->mockGuzzleClient($responses,[RequestOptions::QUERY => ['key' => '123']]));
$this->expectExceptionObject($exception);
$dataProvider->provide(Stub::makeEmpty(Request::class,[
'fullName' => new FullName('test','test','test')
]));
}
json body,我得到了什么
"Error: Option not specified: q"
我应该在哪里使用异常
public function errorDataProvider(): array
{
return [
[
'httpResponses' => [
$this->createErrorResponse(500,'error')// here comes the json which I gave above
],'exception' => new DataProviderUnrecoverableException(),],];
}
private function createErrorResponse(int $code,string $file): array
{
return ['code' => $code,'bodyFile' => "unit/data/service/${file}_response.json"];
}
我如何决定何时使用异常
if (preg_match('/\b(q|key)\b/',$response->getBody()->getContents())) {
throw new DataProviderUnrecoverableException($response->getBody()->getContents());
}
什么错误:
Failed asserting that exception of type "GuzzleHttp\Exception\ServerException" matches expected exception "ServiceDataProvider\DataProviderUnrecoverableException". Message was: "Server error: `GET service?key=123&q=test%20test%20test&format=1` resulted in a `500 Internal Server Error` response:
"Error: Option not specified: q"
" at
我要做的是检查服务是否在特定条件下抛出异常,并在测试中进行检查
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。