Использование базы данных PDO Sqlite в памяти для тестов PHPUnit


Недавно я заставил PHPUnit работать с xDebug для тестирования моих приложений Zend Framework. Тот факт, что я использую ZF, не должен иметь никакого значения для этого вопроса - просто упомянул об этом для полноты картины.

В любом случае, все это работает нормально, но теперь я хочу настроить базу данных в памяти с помощью PDO SQLite. Я сделал это успешно и создал таблицы и вставил данные. Однако эта задача, казалось, заняла целую вечность, синтаксис моего экспорта не соответствовал потребностям SQLites, поэтому мне пришлось поиграть на время.

Также SQLite не поддерживает ограничения (верно?) который использует мое приложение, поэтому весь процесс кажется пустой тратой времени, если я не могу проверить свои ограничения.

Является ли использование SQLite правильным решением моей проблемы? Есть ли у кого-нибудь лучшие способы использовать его или любое другое решение для БД для модульного тестирования?

Author: Jake N , 2010-09-01

1 answers

Идея модульных тестов заключается в тестировании небольших деталей, поэтому одним из способов может быть работа с небольшими объемами (статических) выборочных данных, например, как описано в http://www.phpunit.de/manual/3.4/en/database.html

Если вам действительно нужно протестировать полную базу данных со всеми ее ограничениями, я думаю, что нет никакого способа обойти просто использование конкретной базы данных вашего приложения, например MySQL.

 3
Author: Alex, 2010-09-02 06:57:00