У меня странная проблема с тестом, который я пытаюсь запустить. Я использую сообщение sqs, чтобы подписаться на тему. Сообщение обрабатывается, и тест проходит, но после завершения теста в базе данных не происходит никаких изменений. Никаких исключений из доктрины не выбрасывается, ничего. Это происходит только тогда, когда я использую sqs. Я создал компонент контроллера для тестирования с другой конечной точкой, он работает нормально, и я могу видеть изменения в базе данных.
Я использую codeception, чтобы установить сообщение sqs. Класс SqsService принимает сообщение и возвращается ко мне после вызова QUEUE. У меня есть командный класс, который вызывается, когда я запускаю очередь из моего теста:
runSymfonyConsoleCommand('queue:<command>', ['--queue' => <queue-name>])
После этого я хочу обработать сообщение, чтобы внести изменения в базу данных, просто сделав это в моем классе обслуживания:
$this->repository->remove($entity);
$this->repository->flush();
У меня есть интерфейс, внедренный в мою службу, который служит адаптером для моего репозитория сущностей, который расширяет диспетчер сущностей.
Все работает нормально, за исключением того, что никаких изменений в базе данных не ожидается. Я проверил все конфигурации доктрины, и все они настроены правильно. Я использую Symfony 4.3.9
Кто-нибудь знает, что может вызвать эту проблему?