Pregunta

¿Cuál es la forma de probar la unidad Doctrina 2 modelos? Lo estoy usando con Zend Framework 1.11. Tiene Zend_Test que utiliza PHPUnit. Creo que lo que hay que usar es PHPUnit_Extensions_Database_TestCase . En Zend Framework, puedo usar Zend_Test_PHPUnit_Db . ¿Cómo puedo modificar el código para modelos Doctrina de pruebas unitarias en lugar de clases Zend_Db.

primero, creo que en lugar de utilizar la materia Zend_Db, tengo que usar las cosas de Doctrina lugar

class BugsTest extends Zend_Test_PHPUnit_DatabaseTestCase
{
    private $_connectionMock;

    protected function getConnection()
    {
        if($this->_connectionMock == null) {
            $connection = Zend_Db::factory(...);
            $this->_connectionMock = $this->createZendDbConnection(
                $connection, 'zfunittests'
            );
            Zend_Db_Table_Abstract::setDefaultAdapter($connection);
        }
        return $this->_connectionMock;
    }
    ...
}
¿Fue útil?

Solución 2

DoctrineExtensions que tiene extensiones de PHPUnit través ORMTestCase. miradas de uso de algo así como

namespace MyProject\Tests;

use DoctrineExtensions\PHPUnit\OrmTestCase

class EntityFunctionalTest extends OrmTestCase
{
    protected function createEntityManager()
    {
        return Doctrine\ORM\EntityManager::create(..);
    }

    protected function getDataSet()
    {
        return $this->createFlatXmlDataSet(__DIR__."/_files/entityFixture.xml");
    }
}

Otros consejos

¿Qué es exactamente lo que desea probar? Si es sólo el modelo per se - eso no es demasiado difícil. Doctrina 2 modelos son simplemente objetos PHP con anotaciones que contienen la información de asignación. Eso es lo bueno de ser Doctrina 2 "persinstance ignorantes":. Puede probar los modelos al igual que cualquier clase regular

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top