Я работаю над написанием тестов PHPUnit для своего приложения Symfony, но постоянно сталкиваюсь с ошибкой, которую не могу устранить. Сообщение об ошибке:
1) App\Tests\PaymentControllerTest::testProcessPaymentSuccess
Error: Cannot instantiate interface Doctrine\ORM\EntityManagerInterface
Эта ошибка возникает при запуске моего теста PHPUnit и, похоже, связана с созданием экземпляра EntityManagerInterface. Я настроил свой тест для имитации различных зависимостей, включая InvoiceRepository, InvoiceService и HttpClientInterface. Несмотря на мои усилия правильно настроить сервисный контейнер и установить эти макеты, я все равно получаю эту ошибку.
Я пробовал следующие подходы:
Создание Моки для зависимостей: гарантировал, что все зависимости, включая EntityManagerInterface, имитируются при настройке моего теста.
Настройка сервисов для тестирования: обновлена конфигурация Services_test.yaml, чтобы сделать сервисы общедоступными во время тестов. .
Настройка макетов в контейнере: используется self::getContainer()->set для добавления макетов в контейнер для тестовой среды.
Несмотря на эти шаги, ошибка сохраняется. Похоже, что контейнер внедрения зависимостей Symfony все еще пытается напрямую создать экземпляр EntityManagerInterface, что невозможно, поскольку это интерфейс.
Кто-нибудь сталкивался с подобной проблемой или может дать рекомендации по правильной настройке? издевается над EntityManagerInterface Symfony в тесте PHPUnit? Любые предложения или идеи будут с благодарностью приняты. Спасибо!
Контроллер
Подробнее здесь: https://stackoverflow.com/questions/787 ... entitymana
Ошибка теста Symfony PHPUnit: невозможно создать экземпляр интерфейса Doctrine\ORM\EntityManagerInterface ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Есть ли разница в названии файла конфигурации PHPunit phpunit.xml.dist или phpunit.xml?
Anonymous » » в форуме Php - 0 Ответы
- 69 Просмотры
-
Последнее сообщение Anonymous
-