单元测试Doctrine 2模型的方法是什么?我在Zend Framework 1.11中使用它。它有使用PHPUnit的Zend_Test。我认为使用PHPUnit_Extensions_Database_TestCase是正确的。在Zend Framework中,我可以使用Zend_Test_PHPUnit_Db。如何修改代码来对Doctrine模型而不是Zend_Db类进行单元测试。
首先,我认为我必须使用Zend_Db的东西而不是Doctrine的东西
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;
}
...
}发布于 2010-12-25 16:15:26
我通过ORMTestCase找到了具有PHPUnit扩展的DoctrineExtensions。用法看起来像这样
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");
}
}发布于 2010-12-20 23:29:16
你到底想要测试什么?如果只是模型本身-那并不是太难。Doctrine 2模型只是简单的PHP对象,带有包含映射信息的注释。这就是Doctrine 2“全实例无知”的好处:你可以像测试任何常规类一样测试模型。
https://stackoverflow.com/questions/4471148
复制相似问题