Doctrine2 Testing Library

0.1.2 2013-10-11 00:44 UTC


This is a basic Doctrine2 Test Library to be used with PHPUnit.


  • SQLite in-memory database used for tests
  • Fixture Support
  • Subscriber support


Install via composer.

Writing tests

namespace Application\Test\Entity;

class MyModelTest extends EntityTestCase

    public function setUp()
        // Load the database schemas
        $this->loadSchemas(array('Entity\MyEntity')); // Load as many needed for the tests

        // Optionally, you can load fixtures

        // You can also load subscribers, like registering sluggable, timestampable etc behaviour
        //$myListener = new Listener\MyListener();

    public function testCreate()
        // Get the entity manager for managing persistence etc.
        $em = $this->getEntityManager();

        // Test a create
        $myEntity = new Entity\MyEntity;
        $myEntity->setTitle('Hello World');

        // Test we issued SQL to the database
        $this->assertEquals(1, $this->getQueryCount(), 'Should have executed one query to the database');

        // Test the generation of an ID
        $this->assertNotEmpty($myEntity->getId(), 'Should have got an ID for my entity');


    protected function getServiceLocator() {
        return \Application\Test\Bootstrap::getServiceManager();