Как сделать так, чтобы @WebMvcTest выбирал классы WebMvcConfigurer из пользовательских стартеров? - PullRequest
1 голос
/ 16 февраля 2020

Я создаю пользовательскую начальную библиотеку, которая регистрирует ObjectMapper в классе WebMvcConfigurer. Одной из настроек этого ObjectMapper является формат мгновенной сериализации.

Когда я использую @SpringBootTest с @ AutoConfigureMock Mvc, настроенный ObjectMapper выбирается, и все работает как положено. Однако те же самые утверждения, использующие @WebMvcTest, терпят неудачу. Кажется, что класс WebMvcConfigurer не выбирается в автоконфигурации @WebMvcTest, хотя docs заявляет, что он должен быть выбран.

Есть ли способ расширить автоконфигурацию для WebMvcTest? без необходимости прибегать к @Import с каждой аннотацией @WebMvcTest?

пример кода

1 Ответ

1 голос
/ 16 февраля 2020

Подобно тому, что вы сделали, чтобы включить конфигурацию вашего стартера в основную автоконфигурацию, вы можете включить класс конфигурации в определенный тестовый фрагмент, добавив запись в spring.factories. В этом случае вы должны использовать ключ org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureWebMvc.

Если вы посмотрите на исходный код Spring Boot , вы увидите, что именно так включена автоконфигурация Джексона в Boot, для пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...