avto-dev / guzzle-url-mock

Guzzle 6/7 的 URLs(固定和基于正则表达式)模拟处理程序

v1.6.0 2023-08-09 13:36 UTC

README

logo

Guzzle URLs 模拟处理程序

Version Version Build Status Coverage Downloads count License

本包用于简化使用 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

变更日志

Release date Commits since latest release

变更日志可以在以下位置找到:此处

支持

Issues Issues

如果您发现任何包错误,请在此存储库中 创建问题

许可证

这是一个开源软件,许可协议为 MIT 许可证