Ich verwende derzeit PHPUnit und DBUnit für mein Projekt. Ich habe ein Problem in DBUnit, weil DBUnit PHPUnit_Extensions_Database_TestCase
Sc Klasse scheint die vorhandenen Daten in der Test-DB nicht abzuschneiden. So macht dies meine Einfügung Tests fehlschlagen, nachdem nur für eine Zeit arbeiten.
Ich verwende mysql und hier ist mein Code:
abstract class Generic_Tests_DatabaseTestCase extends PHPUnit_Extensions_Database_TestCase
{
// only instantiate pdo once for test clean-up/fixture load
static private $pdo = null;
// only instantiate PHPUnit_Extensions_Database_DB_IDatabaseConnection once per test
private $conn = null;
final public function getConnection()
{
if ($this->conn === null) {
if (self::$pdo == null) {
self::$pdo = new PDO( "mysql:dbname=db;host=localhost", "root", "pass" );
}
$this->conn = $this->createDefaultDBConnection(self::$pdo, "db");
}
return $this->conn;
}
}
class DbopTest extends Generic_Tests_DatabaseTestCase
{
private $db;
protected function setup(){
$this->db = null;
}
public function getDataSet(){
return $this->createMySQLXMLDataSet(dirname(__FILE__) . '/../rows.xml');
}
...
}
Wie kann ich dieses Problem also beheben? Was mache ich hier falsch?