Интеграционное тестирование в Spring: начальная загрузка TestContext Framework

Конфигурация по умолчанию для внутренних компонентов Spring TestContext Framework достаточна для всех распространенных случаев использования. Однако бывают случаи, когда группа разработчиков или сторонняя платформа хотели бы изменить ContextLoader по умолчанию, реализовать настраиваемый TestContext или ContextCache, расширить наборы по умолчанию для реализаций ContextCustomizerFactory и TestExecutionListener и так далее. Для такого низкоуровневого контроля над тем, как работает TestContext framework, Spring предоставляет стратегию начальной загрузки.

TestContextBootstrapper определяет SPI (Service Provider Interface) для начальной загрузки инфраструктуры TestContext. TestContextBootstrapper используется TestContextManager для загрузки реализаций TestExecutionListener для текущего теста и для создания TestContext, которым он управляет. Вы можете настроить собственную стратегию начальной загрузки для тестового класса (или иерархии тестовых классов) с помощью @BootstrapWith либо напрямую, либо в качестве метааннотации. Если загрузчик явно не настроен с помощью @BootstrapWith, используется либо DefaultTestContextBootstrapper, либо WebTestContextBootstrapper, в зависимости от наличия @WebAppConfiguration.

Поскольку SPI TestContextBootstrapper, вероятно, изменится в будущем (чтобы приспособиться к новым требованиям), рекомендуется не реализовывать этот интерфейс напрямую, а вместо этого расширять AbstractTestContextBootstrapper или один из его конкретных подклассов.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки