@slip31

Почему не видит мэппинг?

Здравствуйте.
Подключил доктрину к проекту (использую только некоторые компоненты от Symfony, в частности DI контейнер)
в `index.php`
$loader->load(dirname(__DIR__). '/config/services.yml');

Подключаю доктрину
doctrine.orm.config:
    public: true
    class: 'Doctrine\ORM\Configuration'
    factory:
      - 'Doctrine\ORM\Tools\Setup'
      - 'createXMLMetadataConfiguration'
    arguments:
      - [ '../src/Infrastructure/Persistence/Doctrine/Mapping/' ]
      - '%isDevMode%'
  doctrine.orm.entity_manager:
    public: true
    autowire: true
    class: 'Doctrine\ORM\EntityManager'
    factory:
      - 'Doctrine\ORM\EntityManager'
      - 'create'
    arguments:
      - driver: 'pdo_mysql'
        user: '%dbUser%'
        password: '%dbPassword%'
        dbname: '%dbName%'
      - '@doctrine.orm.config'

Соответственно mapping у меня тут
` - [ '../src/Infrastructure/Persistence/Doctrine/Mapping/' ]`
и всё отлично работает, пока я не попытался сделать тест. Сделал тест, включил туда компиляцию контейнера
protected function setUp(): void
    {
        require_once __DIR__ . '/../../../vendor/autoload.php';
        $container = new ContainerBuilder();
        $loader = new YamlFileLoader($container, new FileLocator(__DIR__));
        $loader->load(dirname(__DIR__). '/../../config/services.yml');
        $container->compile();
        $this->controller = $container->get('direction.web.controller');
    }

конфиг подключается, но получаю ошибку
No mapping file found named .... for class
По какой то причине он не видит мэппинг сущности в тестах. Т.е. не в тестах это всё работает, а в тестах нет. Что я делаю не так?
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы