prettybx / fixtures
Pretty Bitrix Fixtures
0.0.1
2020-06-06 12:58 UTC
Requires
- fzaninotto/faker: ^1.9
- prettybx/support: >=0.0.3
Requires (Dev)
- phpunit/phpunit: >=8.5
This package is auto-updated.
Last update: 2024-09-09 13:27:20 UTC
README
安装
建议仅在开发中安装 composer require-dev prettybx/fixtures
配置
在文件 bitrix/.settings.php
中需要添加键 fixture_path
,在其中指定固定文件存放的目录路径。建议将固定文件放在比 DOCUMENT_ROOT 高一层的目录中,以便防止 web 服务器访问它们。例如
'fixture_path' => realpath(__DIR__ . '/../../fixtures'),
在配置中指定了所需目录的路径后,注册服务提供者。由于该库主要用于测试,因此仅在测试环境中初始化它是有意义的。
(new \PrettyBx\Fixtures\FixtureServiceProvider())->register();
使用
例如,创建一个描述用户数据的固定文件。在固定文件目录中创建一个名为 user.php
的文件,它应该返回所需结构的数组。
<?php
return [
'ID' => 1,
'FIRST_NAME' => 'Ivan',
'LAST_NAME' => 'Petrov',
];
现在,您可以在测试中按以下方式获取这些数据
$user = fixture()->make('user');
如果将数据作为第二个参数传递给 make
方法,您可以修改所需的数据。
$user = fixture()->make('user', ['ID' => 17]); // Вернет фикстуру с ID => 17
自动生成数据
该库与 fzaninotto/Faker
集成。Faker 提供了一个方便的工具,用于自动生成所需格式的数据。以下是一个固定文件的示例描述
<?php
return [
'ID' => faker()->randomDigit,
'FIRST_NAME' => faker()->firstName,
'LAST_NAME' => faker()->lastName,
];
Faker 库的文档位于项目 GitHub 上:https://github.com/fzaninotto/Faker
生成固定数组
要生成固定数组,可以使用 makeMany
方法。
$users = fixture()->makeMany('user', 3); // Вернет массив, состоящий из 3 фикстур типа user