11

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、またはメモリ内の配列を喜んで使用します(機能するものは何でも)

残念ながら、私はこのシステムを開始できないようです。

4

1 に答える 1

9

PHPUnitマニュアルには、データベーステストの章があります。

そして、B。EberleiのPHPUnitを使用したDBテストの究極のガイド

PHPUnitの作者であるSebastianBergmannによるトピックに関するブログ投稿もあります(2008年ですが)。

Mike Livelyによるさらに古いブログ投稿のいくつかは、DbUnit拡張機能の作成者が次の場所にあります。

より最近のチュートリアル(2010)は、MatthewTurlandのブログにあります。

Freenode IRCの#phpunitにアクセスして、公式サポートを受けることもできます。

于 2011-03-19T09:40:03.207 に答える