Domanda

Che cosa è il modo di test di unità Doctrine 2 modelli? Io lo utilizzo con Zend Framework 1.11. Ha Zend_Test che utilizza PHPUnit. Penso che la cosa giusta da utilizzare è PHPUnit_Extensions_Database_TestCase . In Zend Framework, posso usare Zend_Test_PHPUnit_Db . Come posso modificare il codice per modelli di Doctrine unit test, invece di classi Zend_Db.

prima, penso che invece di usare roba Zend_Db, devo usare la roba di Doctrine al posto

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;
    }
    ...
}
È stato utile?

Soluzione 2

DoctrineExtensions che ha le estensioni per PHPUnit via ORMTestCase. sguardi di utilizzo qualcosa come

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");
    }
}

Altri suggerimenti

Che cosa vuoi di prova? Se il suo solo il modello di per sé - quello non è troppo difficile. modelli Dottrina 2 sono semplicemente oggetti PHP con le annotazioni che contengono le informazioni di mapping. Questo è il cosa buona di Doctrine 2 dell'essere "persinstance ignoranti":. È possibile testare i modelli come qualsiasi classe normale

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top