PHPUnit и DBUnit - начало работы
Есть ли у кого-нибудь ссылка на хороший рабочий учебник или книгу о том, как начать с добавления уровня 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 или даже массив в памяти (все работает)
К сожалению, я просто не могу запустить эту систему.
Ответы
Ответ 1
В руководстве PHPUnit есть глава для тестирования базы данных:
И B. Eberlei Ultimate Руководство по тестированию БД с помощью PHPUnit
Существует также Blogpost автор PHPUnit Себастьян Бергманн по теме (2008 год):
Некоторые даже более старые сообщения в блогах Майка Лайвли, автора расширения DbUnit, можно найти в
Более поздний учебник (2010) будет в блоге Мэтью Турланда:
Вы также можете посетить # phpunit в Freenode IRC, чтобы получить официальную поддержку.