alirezamires/php-dummy-server

它通过允许你定义各种响应(成功、失败)并将你的应用程序从外部依赖中隔离出来,简化了测试

0.0.3 2024-08-02 15:42 UTC

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 存储库上打开问题。