Я использовал WireMock в тестах, чтобы смоделировать сервисы, внешние по отношению к тому, что я хочу протестировать, которые общаются по HTTP. Мой тестовый класс, аннотированный @SpringBootTest, также аннотирован @ContextConfiguration. В атрибуте classes @ContextConfiguration я явно указываю классы конфигурации, необходимые для настройки контекста Spring для рассматриваемого теста. Здесь я также могу включить дополнительные классы конфигурации, в которых я создаю bean-компоненты, используемые только в тесте. В тестовых конфигурационных классах я также могу переопределять bean-компоненты для целей теста, создания фиктивных bean-компонентов и т. Д. Обратите внимание, что Spring Boot 2.1 и более поздние версии по умолчанию отключают переопределение bean-компонентов. Его можно включить, установив для следующего свойства значение true:spring.main.allow-боб-определение-переопределение = истинаЧтобы установить свойство для одного теста, используйте аннотацию @TestPropertySource, например:
@TestPropertySource(properties = {
"spring.main.allow-bean-definition-overriding=true"
})