New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

incraigulous/data-factories

A data factory helper class for mocking data. This is inspired by Laravel's model factories, the difference being that data factories are not tied to a model. Data factories are great for mocking api responses, requests or other data not persisted to a database. Data Factories are not dependant on Laravel, so you can use this package anywhere.
449
Install
composer require incraigulous/data-factories
Latest Version:2.0.0
License:WTF
Last Updated:Jul 9, 2019
Links: GitHub  ·  Packagist
Maintainer: incraigulous

Data Factories

A data factory helper class for mocking data. This is inspired by Laravel's model factories, the difference being that data factories are not tied to a model. Data factories are great for mocking api responses, requests or other data not persisted to a database. Data Factories are not dependent on Laravel, so you can use this package anywhere.

Installing
    composer require incraigulous/data-factories
Adding a data factories folder
Example factory file
<?php
use Faker\Generator as Faker;

$factory->define('test-factory', function(Faker $faker) {

    $email = $faker->email;

    return [
        'name' => $faker->name,
        'email' => $email,
        'email_confirmation' => $email,
        'phone' => $faker->phoneNumber,
        'message' => $faker->paragraph(),
    ];
});
Bootstrapping

You can register your factories where your tests are bootstrapped. Like in your phpunit TestCase SetUp method for example. If you put all your factory files in your /tests/factories folder , you might do it like this:

  protected function setUp() {
     parent::setUp();
     DataFactory::registerPath(__DIR__.'/factories/*.php');
   }
Using Factories

You can return a single factory like this:

 $person = DataFactory::make('person');

or an array of factories like this:

 $people = DataFactory::make('person', 10);

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

651,963,193 9,701
laravel/framework

The Laravel Framework.

610,364,751 34,988
laravel/tinker

Powerful REPL for the Laravel framework.

518,004,183 7,444
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

435,097,283 607
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

407,699,310 4,663

Version History

Version Released License
2.0.0 WTF
1.0.1 WTF
1.0.0 WTF