doctrineum/entity

对真实SQL持久化的Doctrine实体进行测试

2.1.0 2018-07-18 08:05 UTC

This package is auto-updated.

Last update: 2024-09-15 00:56:09 UTC


README

你不使用它,就无法确定它是否可用。

但是,如何自动通过使用来测试实体呢?

  • 通过数据集。

但是,为了做到这一点,我需要设置数据库。如果它只是一个库,没有数据库呢?

  • 那么就使用这个测试框架

真实的通过SQL持久化的Doctrine,真实的通过SQL获取的Doctrine。

<?php
namespace MyLibraryWithDoctrineEntities\Tests;

use Doctrine\ORM\EntityManager;
use Doctrineum\Tests\Entity\AbstractDoctrineEntitiesTest;
use MyLibraryWithDoctrineEntities\Entities\SomeEntity;

class PositiveTestOfAbstractDoctrineEntitiesTest extends AbstractDoctrineEntitiesTest
{
    protected function getDirsWithEntities()
    {
        return [
            __DIR__ . '/../Entities'
        ];
    }

    protected function getExpectedEntityClasses()
    {
        return [
            SomeEntity::class,
        ];
    }

    protected function createEntitiesToPersist()
    {
        return [
            new SomeEntity(),
        ];
    }

    protected function fetchEntitiesByOriginals(array $originalEntities, EntityManager $entityManager)
    {
        $original = current($originalEntities);
        $repository = $entityManager->getRepository(SomeValidEntity::class);
        $fetched = $repository->find($original->getId());

        return [
            $fetched
        ];
    }

}