我目前正在爲我的項目使用PHPUnit和DBUnit。我在DBUnit中有一個問題,因爲DBUnit PHPUnit_Extensions_Database_TestCase
Src類似乎不會截斷測試數據庫中的現有數據。所以這使得我的插入測試在僅工作一次後就失敗了。phpunit中的dbunit不會截斷表格
我使用MySQL和這裏是我的代碼:
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');
}
...
}
那麼如何才能解決這個問題呢?我在這裏做錯了什麼?
希望截斷的地方在哪裏?你使用哪個版本的PHPUnit和哪個版本的DBUnit? – hakre 2012-02-28 22:10:08
多數民衆贊成的問題,我認爲在我的getDataSet方法,截斷操作自動。但我無法看到發生。我正在使用PHP單元3.6.10。 – LostMohican 2012-02-29 11:48:23
這只是一個猜測,但是你覆蓋了'setUp()'方法。請檢查是否仍然調用getDataSet()。 – hakre 2012-02-29 15:04:39