alnutile / fixtures
帮助保存和获取用于测试API的JSON文件
0.0.4
2023-03-08 09:55 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^9.0|^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-23 18:00:34 UTC
README
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)。请参阅许可证文件以获取更多信息。