Я пытаюсь начать настройку модульных тестов с использованием базы данных MySQL, и я сталкиваюсь с этим исключением:
DBTest::test__getException()
Argument 1 passed to PHPUnit_Extensions_Database_DataSet_DefaultTableIterator::__construct() must be an array, null given.
Я не знаю, чего мне не хватает
Код моего модульного теста:
<?php
class DBTest extends Generic_Tests_DatabaseTestCase {
//...
public function getDataSet() {
$dataSet = $this->createMySQLXMLDataSet(dirname(__FILE__)."/../db/t_enroll_fixtures.xml");
return $dataSet;
}
public function setUp() {
$this->X = $this->getMock('\X\Engine\X');
$this->model = new Model($this->X, 't_users');
$this->className = get_class($this->model);
parent::setUp();
}
public function tearDown() {
$this->X = NULL;
$this->model = NULL;
parent::tearDown();
}
public function testMagicFields() {
$this->getConnection()->addTable('t_enroll');
$this->assertEquals(10, $this->getConnection()->getRowCount('t_enroll'));
}
}
?>
Generic_Test_DatabaseTestCase Class:
<?php
require_once "PHPUnit/Extensions/Database/TestCase.php";
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($GLOBALS['DB_DSN'], $GLOBALS['DB_USER'], $GLOBALS['DB_PASSWD']);
}
$this->conn = $this->createDefaultDBConnection(self::$pdo, $GLOBALS['DB_DBNAME']);
}
return $this->conn;
}
}
?>
Что мне не хватает?