alirezamires / php-dummy-server
它通过允许你定义各种响应(成功、失败)并将你的应用程序从外部依赖中隔离出来,简化了测试
0.0.3
2024-08-02 15:42 UTC
Requires
- php: ^8
- ext-zip: *
- spatie/once: ^3.1
Requires (Dev)
- phpunit/phpunit: 11
This package is auto-updated.
Last update: 2024-09-05 10:36:42 UTC
README
PHP Dummy Server 是一个库,允许你为依赖于外部 API 或服务的应用程序创建模拟服务器环境。它通过允许你定义各种响应(成功、失败)并将你的应用程序从外部依赖中隔离出来,简化了测试。
优势
可靠的测试:确保测试失败仅由于你的代码中的真正错误,而不是外部因素。灵活的响应:模拟不同的 API 响应(成功、错误)以适应各种测试场景。解耦开发:在服务实际可用之前开始应用程序的开发。隔离团队:即使实际服务不稳定,也允许开发团队独立工作。简化调试:通过在本地模拟特定服务来隔离部署和调试期间的问题。
入门
安装
使用 Composer 安装库
composer require alirezamires/php-dummy-server --dev
配置
编辑 server.php
文件
定义数据目录:将 PHP_DUMMY_SERVER_ROOT_DIR 常量设置为存储模拟服务器数据的位置(例如,响应)。
<?php namespace Alirezamires\DummyServer; require_once __DIR__ . '/vendor/autoload.php'; define("PHP_DUMMY_SERVER_ROOT_DIR", __DIR__ . '/data'); Request::receive(); Response::send();
运行服务器
在终端中使用以下命令启动服务器
php -S localhost:8000 server.php
定义响应
在配置中指定的根目录中创建一个名为 dummy-data 的文件夹。在 dummy-data
文件夹内部,创建 JSON 文件以定义不同场景的响应数据。
支持的 HTTP 方法
- GET:从相应的 JSON 文件检索数据。
- POST:根据请求数据创建一个新的带有唯一标识符的 JSON 文件。
- PUT:使用请求数据更新现有的 JSON 文件。
- DELETE:删除现有的 JSON 文件。
示例:为 GET 请求定义响应。
在 dummy-data/user
文件夹中创建一个名为 1.json
的文件,内容如下
{ "name": "John Doe", "email": "john.doe@example.com" }
现在,任何对 https://:8000/user/1 的 GET 请求都将返回 1.json 文件中的数据。
其他注意事项
- 服务器忽略空文件。
许可证
此库受 MIT 许可证的许可。
贡献
我们欢迎对改进此库的贡献。请随意提交拉取请求或在 GitHub 存储库上打开问题。