alnutile/fixtures

帮助保存和获取用于测试API的JSON文件

0.0.4 2023-03-08 09:55 UTC

This package is auto-updated.

Last update: 2024-09-23 18:00:34 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

TL;DR

用于编写测试和模拟使用保存在我 tests/fixtures 文件夹中的文件来响应Http。是的,有些人直接调用真实API,这也有它的位置,但当与API一起工作时,为了避免许多原因而不调用API,这会更好、更快。

概述

对于所有与API通信的项目,我都会将API结果保存到我的测试文件夹中,并使用这些数据来测试。

例如,如果我调用"https://foo.com/api/bar"并返回

{
    "baz": "boo"
}

然后我将它保存为文件到我的 tests/fixtures/foo_get_response.json

然后在测试中,我将使用Http或其他工具模拟它

$data = get_fixture('foo_get_response.json')
Http::fake(
    [
        'foo.com/*' => Http::response($data, 200)
    ]
);

在拥有这个辅助工具之前,我必须亲自编写这些内容

$data = File::get(base_path(sprintf(
            'tests/fixtures/%s',
            $file_name
        )));

$data = json_decode($results, true);

安装

您可以通过composer安装此包

composer require alnutile/fixtures

然后(由于我无法找到绕过这个问题的方法)将其添加到您的composer.json文件中

    "autoload": {
        "psr-4": {
            "App\\": "app/",
            //some stuff is here
        },
        "files": [
            "vendor/alnutile/fixtures/src/helpers.php"
        ]
    },

运行

composer dump

测试

composer test

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请参阅我们的安全策略了解如何报告安全漏洞。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。