Можно ли активировать весенний профиль в WebMvcTest - PullRequest
0 голосов
/ 17 октября 2018

Учитывая тестовый класс, такой как:

@WebMvcTest
@RunWith(SpringRunner.class)
@SpringBootTest(properties = "spring.profiles.active=test")
public class MyControllerTest  {
... some tests
}

Я получаю ошибку:

java.lang.IllegalStateException: Ошибка конфигурации: найдено несколько объявлений @BootstrapWith для тестового класса[com.example.MyControllerTest]: [@ org.springframework.test.context.BootstrapWith (значение = класс org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTestContextBootstrapper), @ org.sooithtratra.(значение = класс org.springframework.boot.test.context.SpringBootTestContextBootstrapper)]

Желаемая цель состоит в том, что я просто запускаю тест контроллера и, следовательно, по причинам производительности теста не хочу устанавливатьвверх по всему контексту - я просто хочу «веб-слой».

Я могу удалить строку @SpringBootTest(properties = "spring.profiles.active=test") - однако сейчас я не активировал тестовый профиль, который может каким-то образом настраивать веб-контекстчерез свойства, например, настройки Джексона, которые больше не будут применяться.Есть ли способ пройти тестирование только «веб-слоя» и при этом активировать профиль пружины?

Моя среда - java version "10.0.2" 2018-07-17, загрузочная пружина 1.5.16.RELEASE

1 Ответ

0 голосов
/ 17 октября 2018

Чтобы установить активный профиль, вы можете использовать @ActiveProfiles, например,

@WebMvcTest
@RunWith(SpringRunner.class)
@ActiveProfiles("test")
public class MyControllerTest  {

, затем вы можете application-test yml или свойства в тестовых ресурсах.

...