krajcik/ data-builder
此包的最新版本(v0.1.5)没有可用的许可信息。
v0.1.5
2024-08-31 20:49 UTC
Requires
- fakerphp/faker: ^1.23
- nette/database: >=2.4
- nette/php-generator: >=3.6
- nette/robot-loader: >=2.4
Requires (Dev)
- phpstan/phpstan: ^1.11
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