РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1108 of 1361 menu

Метод getContainer класса KernelTestCase

Метод getContainer класса KernelTestCase возвращает объект контейнера зависимостей ContainerInterface. Контейнер позволяет получить любой сервис, зарегистрированный в приложении, например репозиторий, почтовый клиент или валидатор. Перед вызовом метода необходимо загрузить ядро через bootKernel. Параметров метод не принимает.

Синтаксис

public function getContainer(): ContainerInterface

Пример

Давайте получим сервис validator из контейнера и проверим его наличие:

<?php namespace App\Tests; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; use Symfony\Component\Validator\Validator\ValidatorInterface; class ServiceTest extends KernelTestCase { public function testContainer(): void { self::bootKernel(); $container = static::getContainer(); $validator = $container->get(ValidatorInterface::class); echo get_class($validator); } } ?>

Результат выполнения кода:

"Symfony\Component\Validator\Validator\TraceableValidator"

Пример

Давайте получим репозиторий сущности и посчитаем количество записей:

<?php namespace App\Tests; use App\Repository\ArticleRepository; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; class RepositoryTest extends KernelTestCase { public function testCount(): void { self::bootKernel(); $container = static::getContainer(); $repository = $container->get(ArticleRepository::class); $count = $repository->count([]); echo $count; } } ?>

Результат выполнения кода:

5

Смотрите также

  • класс KernelTestCase,
    который является базовым классом для тестов без HTTP-запросов
  • метод bootKernel,
    который загружает ядро приложения перед тестом
  • метод createKernel,
    который создаёт экземпляр ядра приложения
  • класс WebTestCase,
    который расширяет KernelTestCase для тестирования HTTP-запросов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить