krajcik/data-builder

此包的最新版本(v0.1.5)没有可用的许可信息。

v0.1.5 2024-08-31 20:49 UTC

This package is auto-updated.

Last update: 2024-08-31 20:51:44 UTC


README

该包可以帮助您为测试编写测试数据,这些数据是通过为您的项目生成特定数据构建器来完成的。默认情况下,所有数据都随机填充,可以选择更改一个或多个属性。

安装

composer require krajcik/data-builder

使用

配置和生成

    use \Krajcik\DataBuilder\Dto\Configuration;
    
    $targetFolder = '../tests/generated'; // specify some path in your project where you want generate builders

    $configuration = new Configuration(
        $targetFolder,
        'localhost',
        'myTestDb',
        'root',
        'root',
    );

定义您想要生成的构建器

定义您想要生成构建器的所有Doctrine实体

    use \Krajcik\DataBuilder\Dto\BuilderToGenerateDto;

    $builderToGenerate = [
        BuilderToGenerateDto::createFromDoctrineEntity('Api\Contact\Entity\Contact'),
        BuilderToGenerateDto::createFromDoctrineEntity('Api\Contact\Entity\ContactData'),
    ];

生成构建器

    use \Krajcik\DataBuilder\BuilderCompiler;

    $compiler = new BuilderCompiler($configuration);
    $compiler->compile($builderToGenerate);

使用构建器

    $builderFactory = new \Tests\Generated\Builder\BuilderFactory($entityManager);

    $contactData = $builderFactory->createContactDataBuilder()
        ->withFirstName('John')
        ->withLastName('Doe')
        ->buildAndSave();
    // $contactData is saved entity (Api\Contact\Entity\ContactData) from your project which you can use now in your test case