Тестирование Базы Данных PHPUnit
Я использую PHPUnit для проверки вставки объектов через мой объект хранения. Каждый объект домена имеет добавленную и lastmodified метку времени, которая обрабатывается объектом хранения автоматически. Я могу использовать метод расширений PHPUNITS DB assertDataSetsEqual и передавать как набор данных XML, как показано ниже. Проблема добавлена, и lastmodified не может быть жестко закодирован в набор данных XML, так как это будет меняться все время автоматически, могу ли я сказать PHPUnit игнорировать эти cols? или сравните данные таблицы другой способ (не XML), где я могу игнорировать эти столбцы?
тест
$user = new Social_User();
$user->setFk_mswuserId(10);
$user->setFirstName('Gavin');
$store = new Storage();
$store->save($user);
$xml_dataset = $this->createFlatXMLDataSet('after-new.xml');
$this->assertDataSetsEqual($xml_dataset, $this->getConnection()->createDataSet());
XML Dataset
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<user id="1" password="NULL" ip="0" added="0" authenticated="0" lat="0" lon="0" avatar="0" fk_mswuserId="1" timezoneoffset="0" firstName="Ben" lastName="Freeston" deleted="0" lastModified="0" />
<user id="2" password="NULL" ip="0" added="0" authenticated="0" lat="0" lon="0" avatar="0" fk_mswuserId="10" timezoneoffset="0" firstName="Gavin" lastName="Cooper" deleted="0" lastModified="0"/>
</dataset>
1 ответов
по данным
это уже встроенный.
Также см. эти слайды M. Lively (основной автор DBUnit)
и окончательное руководство B. Eberlei по тестированию БД с PHPUnit
поэтому он должен работать по строкам
$database_dataset = new PHPUnit_Extensions_Database_DataSet_DataSetFilter (
$this->getConnection()->createDataSet(array('bank_account')),
array('bank_account' => array ('date_created')) // excluded
);