symfony codeception Cest Классы тестов - как получить контейнер

Получение контенера в Helper-е

Можно например так:

<?php

declare(strict_types=1);

namespace App\Tests\Helper;

use App\Validator\TagsExistValidatorMock;

// here you can define custom actions
// all public methods declared in helper class will be available in $I

class MockHelper extends \Codeception\Module
{
    public function mockTagsValidator() {

        /**
         * @var \Codeception\Module\Symfony
         */
        $symfony = $this->getModule('Symfony');
        $container = $symfony->_getContainer();
        $container->set(
          \App\Validator\TagsExistValidator::class, 
          new TagsExistValidatorMock()
      );
    }
}

Потом этот хэлпер потребуется подключить в tests/functional.suite.yml, например:

actor: FunctionalTester
modules:
    enabled:
        - Symfony:
            app_path: 'src'
            environment: 'test'
        - \App\Tests\Helper\MockHelper

Получение контейнера из KernelBrowser

Если для отправки запросов вы используете отдельно создаемый KernelBrowser (напр. как тут через self::createClient() ), то из такого клиента получить контейнер можно так:

$this->client->getContainer()

Key Words for FKN + antitotal forum (CS VSU):