prettybx/fixtures

Pretty Bitrix Fixtures

安装: 6

依赖: 1

建议: 0

安全: 0

星星: 6

关注者: 4

分支: 0

类型:package

0.0.1 2020-06-06 12:58 UTC

This package is auto-updated.

Last update: 2024-09-09 13:27:20 UTC


README

Phpunit Scrutinizer Code Quality Build Status Code Intelligence Status

安装

建议仅在开发中安装 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