Prueba de la unidad Doctrina 2 Modelos
-
11-10-2019 - |
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;
}
...
}
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