Использование PDO SQLite In-Memory DB для Phpunit Tests
-
26-09-2019 - |
Вопрос
Недавно я получил phpunit, работаю с xdebug для тестирования моих zend framework priments. Тот факт, что я использую ZF, не должен иметь никакого значения для этого вопроса - только что упомянул об этом для полноты.
Во всяком случае, все это работает нормально, но теперь я хочу настроить базу данных в памяти, используя PDO SQLite. Я сделал это успешно и создал таблицы и вставленные данные. Однако эта задача казалась веками, синтаксис из моего экспорта не соответствует потребностям Sqlites, поэтому я должен был пройти некоторое время.
Также SQLite не поддерживает ограничения (в том, что правильно?) Какое мое приложение использует, поэтому весь процесс кажется пустой тратой времени, если я не могу проверить свои ограничения.
Использует SQLite правильное решение для моей проблемы? У кого-нибудь есть лучшие способы использования его или любого другого решения DB для тестирования устройства?
Решение
Идея модульных тестов состоит в том, чтобы проверить меньшие части, поэтому один из способов может работать с небольшими количествами (статическими) данными образца, например, как описано в http://www.phpunit.de/manual/3.4/en/database.html.
Если вам действительно нужно тестировать на полную базу данных со всеми своими ограничениями, я думаю, что нет возможности просто использовать конкретную базу данных вашего приложения, например MySQL.