Я полностью согласен с тем, чтобы не издеваться над PDO.В какой-то момент я хочу убедиться, что мои запросы работают с реальной базой данных.Хотя технически это может больше не быть модульным тестом.Для меня это намного больше информации о том, что мой код, который обрабатывает хранилище данных, действительно работает против БД.
Я стремлюсь создать своего рода класс доступа к данным для каждого класса, который должен общаться сБД и таким образом отделяют большую часть бизнес-логики от кода доступа к БД.
Таким образом, я могу смоделировать доступ к данным при тестировании классов и после этого создать «Тестовую базу данных» для каждого «доступа к данным».class "и посмотрите, работают ли они.
@ zerkms Ответ (+1) уже связан http://phpunit.de/manual/current/en/database.html, и единственный другой ресурс, который я нашел, имеет значение, когда дело доходит до DB-Testing, этоКнига Real-World Solutions for Developing High-Quality PHP Frameworks and Applications
, в которой есть большая глава, посвященная этой теме.
Должен ли я отделить тест, требующий "базу данных тестов", от тестов, которые являются автономными?
Только если ваш набор тестов действительно очень большой, и у вас есть проблемы во время выполнения, которые заставляют вас сказать: «даже тестирование базы данных занимает много времени для всех моих тестов, поэтому я запускаю эти тесты».только на сервере непрерывной интеграции, а не в процессе разработки.