tijmen-wierenga/bogus-fixtures-bundle

一个用于通过Bogus创建虚拟数据固定文件的Symfony扩展包

v1.0.0 2018-10-17 06:47 UTC

This package is auto-updated.

Last update: 2024-09-17 21:41:22 UTC


README

BogusFixturesBundle扩展包将tijmen-wierenga/bogus的功能添加到Symfony 4应用程序中。

有关此扩展包的任何问题,请随时联系Tijmen Wierenga,邮箱:t.wierenga@live.nl

安装

您可以使用composer将此扩展包安装到您的Symfony应用程序中

composer require tijmen-wierenga/bogus-fixtures-bundle

如果您只想在开发中使用此扩展包(很多时候您可能只用于测试目的)

composer require --dev tijmen-wierenga/bogus-fixtures-bundle

如果您使用的是Symfony 3.4或更低版本,您还需要注册此扩展包

// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    // ...

    public function registerBundles()
    {
        // For global registration
        $bundles = array(
            // ...
            new TijmenWierenga\Bundle\BogusFixturesBundle(),
        );

        // For development/testing registration only
        if (in_array($this->getEnvironment(), array('dev', 'test'))) {
            $bundles[] = new TijmenWierenga\Bundle\BogusFixturesBundle();
        }
    }
}

使用方法

Bogus库的使用说明可以在项目的README.md中找到。

如果您的Symfony项目允许自动配置(3.4或更高版本),您可以将以下行添加到您的services.yaml文件中

_instanceof:
    TijmenWierenga\Bogus\Factory\Factory:
        tags: ['bogus_fixtures.factory']

这将自动将TijmenWierenga\Bogus\Factory\Factory实例标记为bogus_fixtures.factory。工厂将自动添加到Fixtures基类。

如果您愿意手动添加标签,或者您的Symfony应用程序不允许自动注册,您可以标记单个服务

App\Factories\UserFactory:
    tags: ['bogus_fixtures.factory']

在测试中使用时,该扩展包提供了一个特质。您可以在测试用例中使用它,如下所示

namespace App\Tests;

use App\Entity\User;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use TijmenWierenga\Bundle\BogusFixturesBundle\Fixtures;

class FixturesTest extends KernelTestCase
{
    use Fixtures;

    public function setUp()
    {
        self::bootKernel();
    }

    public function testItBuildsAFixture()
    {
        $user = $this->fixtures()->create(User::class); // Will generate a User
    }
}