An open API service indexing awesome lists of open source software.

https://github.com/alexmanno/doctrine-auto-fixtures

Automatic fixtures
https://github.com/alexmanno/doctrine-auto-fixtures

Last synced: 2 months ago
JSON representation

Automatic fixtures

Awesome Lists containing this project

README

        

# doctrine-auto-fixtures
Automatic fixture for doctrine entities

[![Build Status](https://travis-ci.org/alexmanno/doctrine-auto-fixtures.svg?branch=master)](https://travis-ci.org/alexmanno/doctrine-auto-fixtures)
![Scrutinizer Coverage](https://img.shields.io/scrutinizer/coverage/g/alexmanno/doctrine-auto-fixtures.svg)

## Installation

```bash
composer require alexmanno/doctrine-auto-fixtures
```

## Usage

In your entity:

##### Fixed value on field
```php
class Entity {
/**
* @Fixture(value="Fixed value")
*/
private $entityField;
}
```

##### Factory on field
```php
class Entity {
/**
* @Fixture(factory="Acme\FactoryClass:factoryMethod")
*/
private $entityField;
}
```

##### Faker on field
```php
class Entity {
/**
* @Fixture(faker="address")
*/
private $entityField;
}
```

##### Link another entity on field
```php
class Entity {
/**
* @Fixture(class="Acme\AnotherEntity")
*/
private $entityField;
}
```

Than in your tests:

```php
// ----
$engine = new AlexManno\Engine\FixtureEngine();
$fixture = $engine->get(Acme\Entity::class); // <- this will return your fixture
// ----
```