11

有没有人有关于如何开始将 DBUnit 层添加到我的 PHPUNIt 测试的良好工作教程或书籍的链接?

我试过按照代码

protected function getDatabaseTester()
{
    $pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'pass');
    $connection = new PHPUnit_Extensions_Database_DB_DefaultDatabaseConnection($pdo);
    $tester = new PHPUnit_Extensions_Database_DefaultTester($connection);
    $tester->setSetUpOperation(PHPUnit_Extensions_Database_Operation_Factory::CLEAN_INSERT());
    $tester->setTearDownOperation(PHPUnit_Extensions_Database_Operation_Factory::NONE());
    /*
    * the next line fails with the error

    PHP Fatal error:  __autoload(): Failed opening required 'PHPUnit_Extensions_Database_DataSet_FlatXMLDataSet.php' (include_path= *** 

    */
    $tester->setDataSet(new PHPUnit_Extensions_Database_DataSet_FlatXMLDataSet(dirname(__FILE__).'/../../../files/xml_database_export.xml'));
    return $tester;
}

XML 是通过mysqldump命令创建的。我很乐意使用 CSV,甚至是内存中的数组(不管怎样)

不幸的是,我似乎无法启动这个系统。

4

1 回答 1

9

PHPUnit手册中有一章数据库测试:

还有 B. Eberlei 的 PHPUnit 数据库测试终极指南

PHPUnit 的作者 Sebastian Bergmann 也有一篇关于该主题的博文(尽管是 2008 年):

Mike Lively 的一些更早的博客文章,作者 DbUnit 扩展可以在以下位置找到

最新的教程 (2010) 将在 Matthew Turland 的博客中:

您还可以访问Freenode IRC 上的#phpunit以获得官方支持。

于 2011-03-19T09:40:03.207 回答