单位测试学说2型型号的方法是什么?我将其与Zend Framework 1.11一起使用。它有 Zend_Test 使用phpunit。我认为正确使用的是 PHPUnit_Extensions_Database_TestCase. 。在Zend框架中,我可以使用 Zend_Test_PHPUnit_Db. 。如何将代码修改为单位测试学说模型而不是 Zend_Db 课程。

第一,我认为不是使用 Zend_Db 东西,我必须使用学说的东西

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;
    }
    ...
}
有帮助吗?

解决方案 2

我发现 DoctrineExtensions 通过Phpunit的扩展 ORMTestCase. 。用法看起来像

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

其他提示

您要测试什么?如果仅仅是模型本身 - 那并不是太困难了。 Doctrine 2模型只是具有包含映射信息的注释的普通PHP对象。多数民众学说2是“ persinstance无知”:您可以像任何常规班级一样测试模型。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top