Отключить класс конфигурации Spring Security для @WebMvcTest в Spring BootJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Отключить класс конфигурации Spring Security для @WebMvcTest в Spring Boot

Сообщение Anonymous »


Недавно я добавил Spring Security в свой проект Spring Boot, используя следующий класс:

@EnableWebSecurity @EnableGlobalMethodSecurity (prePostEnabled = true) общественный класс MySecurityConfig { } в результате по умолчанию все мои URL-адреса теперь защищены аутентификацией и автоматически сгенерированным паролем.

Проблема в том, что все тесты в классе @WebMvcTest, который я использовал для модульного тестирования контроллера:

@RunWith(SpringRunner.class) @WebMvcTest(SomeController.class) публичный класс SomeControllerTest {...} теперь везде происходят сбои из-за отсутствия авторизации.

Вопрос: могу ли я указать методам @Test игнорировать авторизацию, чтобы они продолжали работать, как раньше?

Как предотвратить выбор класса конфигурации @EnableWebSecurity для определенного класса модульного тестирования @WebMvcTest?

Мне бы хотелось, чтобы уже существующие тесты можно было пройти, а функции аутентификации можно было протестировать отдельно позже.

До сих пор я пытался использовать вложенный класс конфигурации в классе тестирования, чтобы исключить конфигурации безопасности:

@RunWith(SpringRunner.class) @WebMvcTest(SomeController.class) общественный класс SomeControllerTest { @Конфигурация @EnableAutoConfiguration(exclude = { SecurityAutoConfiguration.class}) статический класс ContextConfiguration { } ....} но, похоже, это не работает.

ПРИМЕЧАНИЕ. Я использую Spring Boot 1.5.8
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»