symfony4 Пример использования ORMPurger для WebTestCase
В случае, если нам нужно протестировать экшены контроллера, при этом предварительно очистив данные из базы данных, можно использовать класс ORMPurger. Он является частью пакета doctrine/data-fixtures, который в свою очередь является зависимостью doctrine/doctrine-fixtures-bundle.
Таким образом, для использования ORMPurger нужно установить либо:
composer require --dev doctrine/doctrine-fixtures-bundle
Скорее всего doctrine-fixtures-bundle вам и нужен, чтобы можно было создавать fixtures.
Либо хотя-бы:
composer require --dev doctrine/data-fixtures
Теперь можно добавить код в тест, который является наследником WebTestCase.
self::bootKernel(); // returns the real and unchanged service container $container = self::$kernel->getContainer(); $entityManager = $container->get('doctrine.orm.entity_manager'); $purger = new ORMPurger($entityManager); $purger->setPurgeMode(ORMPurger::PURGE_MODE_DELETE); $purger->purge();