Начал покрывать тестами один старый проект на Symfony. В процессе настройки тестовой базы выяснилось, что часть миграций удалена, и создать схему только лишь миграциями - невозможно. Соответственно, использовать фикстуры в их стандартном флоу (пересоздал схему, накатил фикстуры) - тоже невозможно, а использовать их очень хочется.
В процессе поиска решения и разбора документации открыл два малоизвестных, но отличных бандла:
https://github.com/liip/LiipTestFixturesBundle и https://github.com/dmaicher/doctrine-test-bundle
Первый позволяет накатить фикстуры внутри теста, а второй автоматически оборачивает все запросы к базе в транзакцию, и после завершения теста откатывает её, оставляя базу в первозданном виде. Тем самым освобождая разработчика от необходимости пересоздавать схему. Огонь!
Post #229
1.77K