有没有人有关于如何开始在我的PHPUNit测试中添加DBUnit层的好的,有用的教程或书籍的链接?
我已尝试按照
中的代码进行操作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,甚至是内存中的数组(无论有效)
不幸的是,我似乎无法启动此系统。
答案 0 :(得分:9)
PHPUnit手册中有一章数据库测试:
和B. Eberlei使用PHPUnit进行数据库测试的终极指南
PHPUnit的作者塞巴斯蒂安·贝格曼(Sebastian Bergmann)也有一篇关于这个主题的博客文章(2008年):
Mike Lively的一些更老的博客文章,DbUnit扩展的作者可以在
找到更新的教程(2010年)将出现在Matthew Turland的博客中:
您还可以访问#phpunit on Freenode IRC获取官方支持。