Skip to Content
Domain-Driven Design in PHP
book

Domain-Driven Design in PHP

by Keyvan Akbary, Carlos Buenosvinos, Christian Soronellas
June 2017
Intermediate to advanced
394 pages
8h 52m
English
Packt Publishing
Content preview from Domain-Driven Design in PHP

Object Mother

An Object Mother is a catchy name for a Factory that creates fixed fixtures for your tests. Similar to the previous example, we could extract the duplicated logic to an Object Mother so it could be reused across tests:

class AuthorObjectMother{    public static function createOne()    {        return new Author(            new Username('johndoe'),            new FullName('John', 'Doe'),            new Email('john@doe.com )        );    }}class MyTest extends PHPUnit_Framework_TestCase{    /**     * @test     */    public function itDoesSomething()    {        $author = AuthorObjectMother::createOne();    }}

You'll notice that the more tests and situations you have, the more methods the Factory will have.

As Object Mothers aren't very flexible, they tend to grow in complexity quickly. Luckily, there's a more ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

PHP Web Services

PHP Web Services

Lorna Jane Mitchell
PHP Microservices

PHP Microservices

Pablo Solar Vilariño, Carlos Pérez Sánchez

Publisher Resources

ISBN: 9781787284944