pbxapi / php-http-fixture-client
PHP-HTTP的测试客户端
Requires
- php: ^7.0
- danielstjules/stringy: ^3.1
- php-http/discovery: ^1.4
- php-http/mock-client: ^1.2
- psr/http-message: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- php-http/guzzle6-adapter: ^1.1
- phpunit/phpunit: ^6.0
Provides
This package is auto-updated.
Last update: 2024-09-14 20:50:57 UTC
README
这是一个PHP-HTTP的测试客户端,用于测试目的。它将请求映射到静态的测试数据。
安装
$ composer require --dev swisnl/php-http-fixture-client
使用方法
// Create client $responseBuilder = new \Pbxapi\Http\Fixture\ResponseBuilder('/path/to/fixtures'); $client = new \Pbxapi\Http\Fixture\Client($responseBuilder); // Send request $response = $client->sendRequest(new Request(...));
测试数据映射
使用此客户端发送的所有请求都将映射到提供的路径中位于的静态测试数据。通过使用域名和路径片段以及(可选地)方法和/或查询参数(按字母顺序排序)将URL转换为文件路径。将根据特定性顺序创建并处理可能测试数据路径列表。
- {path}.{query}.{method}.mock
- {path}.{query}.mock
- {path}.{method}.mock
- {path}.mock
以下表格提供了一些示例。
严格模式
可以使用setStrictMode(true)
将ReponseBuilder
设置为严格模式。在严格模式下,仅使用第一个可能的测试数据路径。这意味着方法和查询参数必须存在于测试数据文件名中,并且不会回退到其他测试数据文件。
助手
有关URL助手的信息,请参阅https://swisnl.github.io/php-http-fixture-client/#helper。
正文
请求的正文直接从具有.mock扩展名的测试数据文件加载。此文件的任何内容都可以是有效的HTTP响应,例如HTML、JSON甚至图像。如果找不到测试数据,将抛出MockNotFoundException
异常。此异常具有便利方法getPossiblePaths()
,它按特定性顺序列出所有检查过的文件路径。
头部(可选)
请求的头部从具有.headers扩展名的测试数据文件加载。这是一个简单的JSON对象,包含头部,例如。
{ "X-Made-With": "PHPUnit" }
状态(可选)
请求的状态码从具有.status扩展名的测试数据文件加载。这是一个只包含HTTP状态码的纯文件。如果没有找到.status文件,将使用200 OK。
测试数据(高级)
此客户端扩展了php-http/mock-client,允许您添加自定义响应和异常,这些响应和异常忽略测试数据文件。有关更多信息,请参阅mock-client文档。
注意。默认响应无法设置,因为此客户端在底层使用它。
变更日志
有关最近更改的信息,请参阅变更日志。
测试
$ composer test
贡献
有关详细信息,请参阅CONTRIBUTING和行为准则。
安全
如果您发现任何安全问题,请通过电子邮件[email protected]报告,而不是使用问题跟踪器。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。
SWIS
SWIS 是荷兰莱顿的一家网络机构。我们热爱使用开源软件。