avto-dev / guzzle-url-mock
Guzzle 6/7 的 URLs(固定和基于正则表达式)模拟处理程序
v1.6.0
2023-08-09 13:36 UTC
Requires
- php: ^8.0
- ext-mbstring: *
- guzzlehttp/guzzle: ~7.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.6 || ^10.3
This package is auto-updated.
Last update: 2024-09-08 09:12:03 UTC
README
Guzzle URLs 模拟处理程序
本包用于简化使用 Guzzle 6/Guzzle 7 模拟 URLs(固定和基于正则表达式)。
安装
使用以下命令通过 composer 安装此包:
$ composer require avto-dev/guzzle-url-mock "^1.5"
需要安装
composer
(如何安装 composer)。
您需要指定包的主要版本。
使用方法
通过传递处理程序实例创建 Guzzle 客户端实例,设置它,然后进行请求
<?php use GuzzleHttp\Client; use GuzzleHttp\HandlerStack; use GuzzleHttp\Psr7\Response; use AvtoDev\GuzzleUrlMock\UrlsMockHandler; $handler = new UrlsMockHandler; $client = new Client([ 'handler' => HandlerStack::create($handler), ]); $handler->onUriRequested('https://goo.gl', 'get', new Response( 200, ['foo' => ['bar']], '<h1>All looks fine!</h1>' )); $handler->onUriRegexpRequested('~https:\/\/goo\.gl\/.*~', 'post', new Response( 404, [], 'Nothing found' )); $client->request('get', 'https://goo.gl')->getBody()->getContents(); // '<h1>All looks fine!</h1>' $client->request('post', 'https://goo.gl/foo', ['http_errors' => false])->getBody()->getContents(); // 'Nothing found'
您还可以使用以下处理程序方法
测试
对于包测试,我们使用 phpunit
框架和 docker-ce
+ docker-compose
作为开发环境。因此,在克隆仓库后,只需在终端中输入以下内容:
$ make build $ make latest # or 'make lowest' $ make test
变更日志
变更日志可以在以下位置找到:此处。
支持
如果您发现任何包错误,请在此存储库中 创建问题。
许可证
这是一个开源软件,许可协议为 MIT 许可证。